Automatic Content Filtering

ABSTRACT

Novel tools and techniques are provided for enabling or implementing presence detection and/or automatic content filtering of media content based on detected presence of users. In some embodiments, media content—including, without limitation, movies, television programs, music, video games, and/or the like—may be presented to a user(s) via a presence detection device (“PDD”). The PDD and/or a server over a network may collect presence information of a user(s), and may determine, based on the presence information of the user(s), whether (and how) at least one portion of the media content should be filtered or censored. Based on a determination that at least one portion of the media content should be filtered or censored, the PDD and/or the server might implement filtering or censoring of the at least one portion of the media content prior to presentation of (the at least one portion of) the media content to the user(s).

CROSS-REFERENCES TO RELATED APPLICATIONS

This application is a continuation-in-part of U.S. patent applicationSer. No. 14/106,263, filed on Dec. 13, 2013 by Shoemake et al. andtitled “Video Capture, Processing and Distribution System” (attorneydocket no. 0414.06, referred to herein as the “'263 application”), whichclaims the benefit of provisional U.S. Patent Application No.61/737,506, filed Dec. 14, 2012 by Shoemake et al. and titled “VideoCapture, Processing and Distribution System” (attorney docket no.0414.06-PR, referred to herein as the “'506 application”). Thisapplication is also a continuation in part of U.S. patent applicationSer. No. 14/170,499, filed on Jan. 31, 2014 by Shoemake et al. andtitled “Video Mail Capture, Processing and Distribution” (attorneydocket no. 0414.07, referred to herein as the “'499 application”), whichclaims the benefit of provisional U.S. Patent Application No.61/759,621, filed Feb. 1, 2013 by Shoemake et al. and titled “Video MailCapture, Processing and Distribution” (attorney docket no. 0414.07-PR,referred to herein as the “'621 application”). This application is alsoa continuation-in part of U.S. patent application Ser. No. 14/341,009,filed on Jul. 25, 2014 by Shoemake et al. and titled “Video Calling andConferencing Addressing” (attorney docket no. 0414.08, referred toherein as the “'009 application”), which claims the benefit ofprovisional U.S. Patent Application No. 61/858,518, filed Jul. 25, 2013by Shoemake et al. and titled “Video Calling and ConferencingAddressing” (attorney docket no. 0414.08-PR, referred to herein as the“'518 application”). This application is also a continuation in part ofU.S. patent application Ser. No. 14/472,133, filed on Aug. 28, 2014 byAhmed et al. and titled “Physical Presence and Advertising” (attorneydocket no. 0414.10, referred to herein as the “'133 application”), whichclaims the benefit of provisional U.S. Patent Application No.61/872,603, filed Aug. 30, 2013 by Ahmed et al. and titled “PhysicalPresence and Advertising” (attorney docket no. 0414.10-PR, referred toherein as the “'603 application”). This application is also acontinuation in part of U.S. patent application Ser. No. 14/479,169,filed on Sep. 5, 2014 by Shoemake et al. and titled “Virtual Window”(attorney docket no. 0414.11, referred to herein as the “'169application”), which claims the benefit of provisional U.S. PatentApplication No. 61/874,903, filed Sep. 6, 2013 by Shoemake et al. andtitled “Virtual Window” (attorney docket no. 0414.11-PR, referred toherein as the “'903 application”). This application is also acontinuation in part of U.S. patent application Ser. No. 14/106,279,filed on Dec. 13, 2013 by Ahmed et al. and titled “Mobile PresenceDetection” (attorney docket no. 0414.12, referred to herein as the “'279application”), which claims the benefit of provisional U.S. PatentApplication No. 61/877,928, filed Sep. 13, 2013 by Ahmed et al. andtitled “Mobile Presence Detection” (attorney docket no. 0414.12-PR,referred to herein as the “'928 application”). This application is alsoa continuation-in-part of U.S. patent application Ser. No. 14/106,360,filed on Dec. 13, 2013 by Ahmed et al. and titled “DistributedInfrastructure” (attorney docket no. 0414.13, referred to herein as the“'360 application”). This application is also a continuation-in-part ofU.S. patent application Ser. No. 14/464,435, filed Aug. 20, 2014 byShoemake et al. and titled “Monitoring, Trend Estimation, and UserRecommendations” (attorney docket no. 0414.09, referred to herein as the“'435 application”).

This application may also be related to provisional U.S. PatentApplication No. 61/987,304, filed May 1, 2014 by Shoemake et al. andtitled “Virtual Remote Functionality” (attorney docket no. 0414.15-PR,referred to herein as the “'304 application”).

The respective disclosures of these applications/patents (which thisdocument refers to collectively as the “Related Applications”) areincorporated herein by reference in their entirety for all purposes.

COPYRIGHT STATEMENT

A portion of the disclosure of this patent document contains materialthat is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure as it appears in the Patent and TrademarkOffice patent file or records, but otherwise reserves all copyrightrights whatsoever.

FIELD

The present disclosure relates, in general, to content filtering, and,more particularly, to tools and techniques for sensing the presence of auser in a room and/or for filtering/censoring/replacing content(including offensive language, violent content, sexual content, etc. inmedia content being presented) based on the sensed presence.

BACKGROUND

The proliferation of capable user devices, pervasive communication, andincreased bandwidth has provided opportunity for many enhanced servicesfor users. One example is video calling. Once the domain of high-end,dedicated systems from vendors such as POLYCOM®, video calling hasbecome available to the average consumer at a reasonable cost. Forexample, the Biscotti™ device, available from Biscotti, Inc., providesan inexpensive tool to allow video calling using a high-definitiontelevision and an Internet connection. More generally, a class ofdevices, which have been described as “video calling devices” but arereferred to herein as video communication devices (“VCDs”) can besimultaneously connected to a display (such as a television, to name oneexample) and a source of content (such as a set-top box (“STB”), to namean example) in a pass-through configuration and can have a networkconnection and/or sensors such as a camera, a microphone, infraredsensors, and/or other suitable sensors. Such devices present a powerfulplatform for various applications. Examples include, without limitation,video calling, instant messaging, presence detection, status updates,media streaming over the Internet, web content viewing, gaming, and DVRcapability. Another example of such value added services is theintroduction of online gaming. Rather than playing a game by him- orherself, a user now can play most games in a multiplayer mode, usingcommunication over the Internet or another network.

Enabling such services is a new class of user device, which generallyfeatures relatively high-end processing capability (which would havebeen unthinkable outside supercomputing labs just a few years ago),substantial random access memory, and relatively vast non-transientstorage capabilities, including hard drives, solid state drives, and thelike. Such user devices can include, without limitation, the VCDsmentioned above, the presence detection devices (“PDDs”) described inthe '279 application, various video game consoles, and the like. Suchdevices generally have a reliable, and relatively high-speed, connectionto the Internet (to enable the value added services) and significantamounts of downtime, in which the processing and other capabilities ofthe devices are unused.

In the context of censoring content deemed obscene, indecent, and/orprofane, conventional techniques have utilized time delayed broadcastingto enable human censors to detect foul words (for example) and“bleeping” out such foul words in broadcast television. To that end, theFederal Communications Commission (“FCC”) have provided guidelines onprohibition of certain words in broadcast television and radio. Ingeneral, there are certain words and images that may be viewed bycertain individuals or groups as being foul, profane, and/or obscene.Such individuals and groups may take action via the government to limitthe display or presentation of these images and sounds in public orthrough the public airwaves. For example, in the United States, thereare prohibitions on the broadcast of certain images and words.

One problem is that what one individual or group may view as beingobscene, profane, or indecent may be viewed by others as being artistic.If a group of individuals uses the government to enforce a ban on aparticular work or image, there are naturally questions about individualand Constitutional rights being violated or infringed. The nature ofoutlawing certain language or images may suppress rights that werefought for with blood. Also, these differences in opinion may not be asblack and white as it may seem. For example, one individual may view ElGreco's Opening of the Fifth Seal as art, while another may view it asunacceptable nudity. Yet another individual may view the word “piss” asa non-offensive substitute for “urinate,” while some may view the wordas being so hideous that it must be blocked from broadcast on the publicairwaves. In broadcast of television over the public airwaves, themethod of enforcing prohibitions on images and words is quite coarse inthat any prohibition affects all. This is an issue, as coarseprohibition may infringe upon the rights of individuals and minoritieswithin certain communities. Although the examples above are directed tobroadcast content, other types of content may be subject to censorshipas well.

Hence, there is a need for solutions that allow for more flexible androbust content filtering functionalities based on presence informationof a user, and some such solutions can employ the powerful user devicesalready resident in many users' homes.

BRIEF SUMMARY

A set of embodiments provides tools and techniques to sense the presenceof one or more users in a room. In some embodiments, an inline cameracan be used to sense such presence; in an aspect, such devices can sensethe number of people present in the room and/or can identify one or moreof the people present in the room. In some cases, such devices can sensewhether a user is actively engaged with (e.g., watching) a display orother television. In an aspect of certain embodiments, such informationcan be used for a variety of purposes, including without limitationidentifying content (including, merely by way of example, potentiallyoffensive or objectionable content) that should be filtered based onsuch information and based on presence information of the detectedand/or identified people.

In some embodiments, media content—including, without limitation,movies, television programs, music, video games, and/or the like—may bepresented to a user(s) via a presence detection device (“PDD”). The PDDand/or a server over a network may collect presence information of auser(s), and may determine, based on the presence information of theuser(s), whether (and how) at least one portion of the media contentshould be filtered or censored. Based on a determination that at leastone portion of the media content should be filtered or censored, the PDDand/or the server might implement filtering or censoring of the at leastone portion of the media content prior to presentation of (the at leastone portion of) the media content to the user(s).

According to some embodiments, inline cameras (which in some cases canbe a stand-alone device or a device embodied in another suitable deviceincluding, but not limited to, a PDD as discussed above, or a videocalling device, and/or the like) can also contain cameras, microphones,and other sensors. These sensors, in conjunction with the internalprocessing capability of the device allow the device to know whensomeone is in room. Additionally, the devices can also recognize who isin the room. They can also tell if users are actually looking at thetelevision. These capabilities allow for very customized contentfiltering based on whether someone is in the room, the identity of theperson(s) in the room, and if they are looking at the TV. For example,the ability to determine whether someone is looking at the TV is a veryuseful tool for filtering or censoring content that that person (orperhaps a parent of that person) deems to be offensive, objectionable,and/or inappropriate for that person. Inline cameras can use this tocustomize content filtering or censoring for a particular user and togauge the effectiveness of the content filtering process (bothdetermination of whether and which portions of media content to filter,and how to filter such portions of the media content).

In some embodiments, inline cameras can also determine the content ofthe audio/visual (“A/V”) stream that is coming from a set-top box(“STB”) or other local content source. This can be done in a number ofways. One way in which content can be identified is to search forwatermarks that are often embedded in the audio/video stream itself.Watermark identification can be accomplished by using the processor inthe inline camera to search for a known audio and/or video pattern thatis embedded in the stream. The watermarks may be designed to beperceptible or imperceptible to users that may be watching the content.Once the watermark is identified, the channel or content that the STB isset to can be identified. Another approach to determining the content ofthe STB is classify the source of the content in the A/V stream itselfby searching either for keywords, phrases that can be used foridentification purposes or by “fingerprinting” the A/V stream andcomparing the fingerprint against a database of fingerprints that areeither local to the inline camera or on a network (such as on a controlserver, as described below). By determining the content coming from theSTB, inline cameras can overlay or replace portions of the media contentwith replacement content coming from the STB. For example, if a childuser is watching a movie (either with or without an adult present), andthe movie contains inappropriate content—including, without limitation,one or more of nudity, sexual content, violent content, and/or offensivelanguage—, the inappropriate content may be automatically identified andautomatically replaced with replacement content that either blocks theinappropriate content or presents appropriate substitute content.

With the techniques described herein, implementation of censorship ofpotentially offensive or objectionable content (e.g., obscene, profane,and/or indecent content) would shift to the end users. This allowsbroadcasters (or other content providers) to provide, broadcast, or sendvideo, images, audio, games, etc. to users as they please, thus theirfreedoms are protected. At the same time, the recipient of the audio andvideo may implement their own custom censorship to protect themselvesfrom words, images, or other content they deem to be offensive orobjectionable.

The techniques described herein can also be employed in a variety ofvideo calling environments, and with a variety of different hardware andsoftware configurations. Merely by way of example, these techniques canbe used with video calling devices and systems described in detail inU.S. patent application Ser. No. 12/561,165, filed Sep. 16, 2009 byShoemake et al. and titled “Real Time Video Communications System”(issued as U.S. Pat. No. 8,144,182) and in the '304, '360, '279, '928,'169, '903, '133, '603, '435, '009, '518, '499, '621, '263, and '506,applications, each of which is incorporated by reference, as if setforth in full in this document, for all purposes.

The tools provided by various embodiments include, without limitation,methods, systems, and/or software products. Merely by way of example, amethod might comprise one or more procedures, any or all of which areexecuted by an image capture device (“ICD”), a PDD, and/or a computersystem. Correspondingly, an embodiment might provide an ICD, a PDD,and/or a computer system configured with instructions to perform one ormore procedures in accordance with methods provided by various otherembodiments. Similarly, a computer program might comprise a set ofinstructions that are executable by an ICD, a PDD, and/or a computersystem (and/or a processor therein) to perform such operations. In manycases, such software programs are encoded on physical, tangible, and/ornon-transitory computer readable media (such as, to name but a fewexamples, optical media, magnetic media, and/or the like).

In an aspect, a method might comprise receiving, with a first device,first media content from a local content source and presenting, with thefirst device, the received first media content. The method might alsocomprise collecting, with a presence detection device, presenceinformation of a user, estimating characteristics of the user, with afirst computer, based at least in part on information derived from atleast a portion of the presence information, and determining, with asecond computer, whether at least one portion of the received firstmedia content should be filtered based at least in part on the estimatedcharacteristics of the user. The method might further comprise, based ona determination that at least one portion of the received first mediacontent should be filtered, filtering the at least one portion of thereceived first media content prior to presenting the at least oneportion of the received first media content.

In some embodiments, the first media content might comprise mediacontent type selected from a group consisting of television programcontent, movie content, music content, gaming content, news-relatedcontent, sports-related content, video clip content, advertisementcontent, and Internet-based media content. In some cases, at least twoof the first device, the presence detection device, the first computer,and/or the second computer might be the same device. In some instances,at least one of the first computer or the second computer might be acontrol server in communication with the presence detection device overa network.

According to some embodiments, estimating characteristics of the user,with the first computer, based at least in part on information derivedfrom at least a portion of the presence information might compriseestimating, with the first computer, one or more of age, gender, and/ordemographics of the user, based at least in part on the informationderived from at least a portion of the presence information. In someinstances, estimating characteristics of the user, with the firstcomputer, based at least in part on information derived from at least aportion of the presence information might comprise identifying the user,with the first computer, based at least in part on the informationderived from at least a portion of the presence information

Merely by way of example, in some embodiments, the presence detectiondevice might comprise a video input interface to receive video inputfrom the local content source, an audio input interface to receive audioinput from the local content source, a video output interface to providevideo output to a display device, an audio output interface to provideaudio output to an audio receiver, an image capture device to capture atleast one of image data or video data, an audio capture device tocapture audio data, a network interface, at least one processor, and astorage medium in communication with the at least one processor. In somecases, the presence information might comprise at least one of an imagecaptured by the image capture device, a video segment captured by theimage capture device, an audio sample captured by the audio capturedevice, and/or a detected presence of a user device in proximity to thefirst presence detection device.

According to some embodiments, collecting the presence information mightcomprise capturing one or more images of at least a portion of a roomwith the image capture device. The one or more images might, in someinstances, comprise a video stream, and collecting the presenceinformation might comprise analyzing the one or more images. In somecases, analyzing the one or more images might comprise determining anumber of people in the room. In some embodiments, analyzing the one ormore images might comprise determining a collective demographic of aplurality of people in the room. In some instances, analyzing the one ormore images might comprise determining an identity of at least oneperson in the room, using facial recognition technology. In some cases,analyzing the one or more images might comprise determining that aperson is watching a display device, using eye tracking technology.

In some embodiments, filtering the at least one portion of the receivedfirst media content might comprise receiving at least one filteredportion of the first media content and inserting the at least onefiltered portion of the first media content in a media stream comprisingthe first media content. In some cases, inserting the at least onefiltered portion of the first media content in the media stream mightcomprise replacing the at least one portion of the received first mediacontent with the at least one filtered portion of the first mediacontent. In some instances, the at least one filtered portion of thefirst media content might comprise at least one of one or more coloredpolygons, one or more pixelated images, one or more blurred images, oneor more smiley faces, one or more predetermined images, one or morerandom images, one or more audio tones, one or more audio blanks (i.e.,no sound portions), one or more replacement words, and/or one or morevideo scenes. According to some embodiments, the one or more replacementwords might comprise replacement words matching one or more of gender,age, nationality, accent, and/or characteristics of a speaker of wordsthat are being replaced by the one or more replacement words.

In some cases, the method might further comprise determining, with thesecond computer, whether at least one portion of the received firstmedia content should be filtered based at least in part on analyzing thefirst media content to identify specific one or more of video content,image content, game content, or audio content that are indicated in adatabase as being potentially objectionable, using one or more ofpattern recognition technology and/or object recognition technology. Insome instances, filtering the at least one portion of the received firstmedia content might comprise replacing the identified specific one ormore of video content, image content, game content, or audio contentwith at least one of the one or more colored polygons, the one or morepixelated images, the one or more blurred images, the one or more smileyfaces, the one or more predetermined images, and/or the one or morerandom images. According to some embodiments, inserting the at least onefiltered portion of the first media content in the media stream mightcomprise overlaying the media stream with the at least one filteredportion of the first media content. In some cases, filtering the atleast one portion of the received first media content might furthercomprise adding latency to the first media content during presentationof the first media content.

According to some embodiments, filtering the at least one portion of thereceived first media content might comprise at least one of blocking theat least one portion of the received first media content from beingpresented; pausing presentation of the at least one portion of thereceived first media content; hiding the at least one portion of thereceived first media content during presentation of the received firstmedia content; skipping the at least one portion of the received firstmedia content during presentation of the received first media content;removing the at least one portion from the received first media content;or replacing the at least one portion of the received first mediacontent with replacement content. In some instances, the replacementcontent comprises a different version of the first media content (or theat least one filtered portion of the first media content, as describedabove).

In some embodiments, determining, with a second computer, whether atleast one portion of the received first media content should be filteredbased at least in part on the estimated characteristics of the usermight comprise determining that the user is a child user and that the atleast one portion of the received media content is media contentinappropriate for the child user, and filtering the at least one portionof the received first media content might comprise at least one ofpausing and/or blanking the at least one portion of the received firstmedia content. In some instances, determining that the user is a childuser and that the at least one portion of the received media content ismedia content inappropriate for the child user might comprise receivingone or more of a verbal command, from a second user, indicating that theat least one portion of the received media content should be censored, agesture command, from the second user, indicating that the at least oneportion of the received media content should be censored, and/orinstructions based on user profiles associated with the child userindicating that media content similar to the at least one portion of thereceived media content should be censored. In some cases, the methodmight further comprise determining, with the presence detection device,that the child user is no longer present, and, based on a determinationthat the child user is no longer present, resuming presentation of thereceived first media content. In some embodiments, determining, with thepresence detection device, that the child user is no longer presentmight comprise one or more of a verbal command, from the second user,indicating to resume presentation of the at least one portion of thereceived media content, a gesture command, from the second user,indicating to resume presentation of the at least one portion of thereceived media content, and/or instructions based on analysis of currentpresence information of the child user indicating that the child user isno longer physically present.

According to some embodiments, the method might further compriseidentifying the user, with the first computer, based at least in part onidentifying information derived from at least a portion of the presenceinformation. In some cases, identifying the user might comprisedetermining an identity of the user, using one or more of facialrecognition technology and/or voice recognition technology. In someembodiments, the method might further comprise determining, with thesecond computer, whether at least one portion of the received firstmedia content should be filtered based on profile information of each ofthe identified at least one person in the room. In some instances,collecting presence information of a user might comprise collectingpresence information the user over a period of time, and the methodmight further comprise updating, with the presence detection device, auser profile associated with the user with updated identifyinginformation based on a determination that one or more of an appearanceand/or a voice pattern of the user has changed. In some cases, themethod might further comprise receiving user input from the userindicating desired custom level of content filtering and updating a userprofile associated with the user, based at least in part on the receiveduser input.

In some instances, determining, with a second computer, whether at leastone portion of the received first media content should be filtered basedat least in part on the estimated characteristics of the user mightcomprise determining, with a second computer, whether at least oneportion of the received first media content should be filtered based atleast in part on a determination as to whether one or more users whosepresence are presently detected are of an estimated age appropriate toview, listen to, or play the first media content based at least in parton content ratings of the first media content.

In some embodiments, the method might further comprise monitoring, withthe presence detection device, information associated with the firstmedia content and sending, with the presence detection device, themonitored information associated with the first media content to thesecond computer over a network. In some instances, the informationassociated with the first media content might comprise mediacontent-based information comprising at least one of informationpertaining to one or more portions of the first media content containingone or more of video scenes of nudity and/or images of nudity;information pertaining to one or more portions of the first mediacontent containing one or more of video scenes of suggestive sexualcontent and/or images of suggestive sexual content; informationpertaining to one or more portions of the first media content containingone or more of video scenes of explicit sexual content and/or images ofexplicit sexual content; information pertaining to one or more portionsof the first media content containing one or more of video scenes ofviolence and/or images of violence; and/or information pertaining to oneor more portions of the first media content containing one or more ofaudio of violence, audio of sexual content, and/or audio of coarse oroffensive language.

The method might further comprise determining, with a second computer,whether at least one portion of the received first media content shouldbe filtered based at least in part on at least one of one or more firstlocations containing the media-content based information in the firstmedia content that are monitored by the presence detection device; oneor more second locations containing the media-content based informationin the first media content that are marked by the user using user input;and/or one or more third locations containing the media-content basedinformation in the first media content that are monitored by thepresence detection device in compiled information received from adatabase over a network. The compiled information might compriselocations containing the media-content based information in the firstmedia content that are marked by at least one of a plurality of userswho are unassociated with the user (and/or unknown to the user) or aplurality of users who are known to the user (e.g., known friends, knownfamily members, social media friends, etc.).

In some cases, each of the information associated with the first mediacontent might comprise audience-based information comprising at leastone of number of audience members present during presentation ofparticular portions of the first media content, identity of eachaudience member, gender of each audience member, age of each audiencemember, demographic group to which each audience member belongs, viewingpatterns of each audience member, specific reactions of each audiencemember during presentation of particular portions of the first mediacontent, overall reactions of each audience member throughoutpresentation of the first media content, consistency of audience memberreactions of each audience member compared with personal preferences ofthe audience member, and/or consistency of audience member reactions ofeach audience member compared with past reactions of the audiencemember. In some embodiments, each of the specific reactions or theoverall reactions might comprise reactions selected from a groupconsisting of vocal expressions, facial expressions, hand gestures, bodygestures, eye movement, eye focus, and/or shift in proximity withrespect to the presence detection device. In some instances, theaudience-based information might be monitored using one or more offacial recognition techniques, facial expression recognition techniques,mood recognition techniques, emotion recognition techniques, voicerecognition techniques, vocal tone recognition techniques, speechrecognition techniques, eye movement tracking techniques, eye focusdetermination techniques, and/or proximity detection techniques.

According to some embodiments, the method might further comprisedetermining, with a second computer, whether at least one portion of thereceived first media content should be filtered based at least in parton analysis of one or more of identification of each person in a room inwhich the presence detection device is located, identification of eachperson viewing the first media content being displayed on a displaydevice communicatively coupled to a video output interface of thepresence detection device, and/or identification of each personlistening to the first media content being presented over a speakercommunicatively coupled to an audio receiver that is communicativelycoupled to an audio output interface of the presence detection device.

In another aspect, an apparatus might comprise a non-transitory computerreadable medium having encoded thereon a set of instructions executableby one or more processors to cause the apparatus to perform one or moreoperations. The set of instructions might comprise instructions forreceiving presence information from a presence detection device andinstructions for determining whether at least one portion of a firstmedia content should be filtered during presentation of the first mediacontent, based at least in part on the presence information.

In yet another aspect, a system might comprise a computer and a presencedetection device. The computer might comprise one or more firstprocessors and a first non-transitory computer readable medium incommunication with the one or more first processors. The firstnon-transitory computer readable medium might have encoded thereon afirst set of instructions executable by the one or more first processorsto cause the computer to perform one or more operations. The first setof instructions might comprise instructions for receiving presenceinformation of a user from the presence detection device, instructionsfor determining whether at least one portion of a first media contentshould be filtered during presentation of the first media content, basedat least in part on the presence information, and instructions for,based on a determination that at least one portion of the first mediacontent should be filtered, sending at least one filtered portion of thefirst media content corresponding to the at least one portion of thefirst media content.

The presence detection device might be configured to collect thepresence information. The presence detection device might comprise avideo input interface to receive video input from a local contentsource, an audio input interface to receive audio input from the localcontent source, a video output interface to provide video output to adisplay device, an audio output interface to provide audio output to anaudio receiver, an image capture device to capture at least one of imagedata or video data, an audio capture device to capture audio data, anetwork interface, one or more second processors, and a secondnon-transitory computer readable medium in communication with the one ormore second processors. The second non-transitory computer readablemedium might have encoded thereon a second set of instructionsexecutable by the one or more second processors to control operation ofthe presence detection device. The second set of instructions mightcomprise instructions for controlling the image capture device tocapture one of a video stream or at least one image of the user,instructions for controlling the audio capture device to capture anaudio stream, instructions for encoding the captured video stream andthe captured audio stream to produce a series of data packets comprisingpresence information of the user, and instructions for transmitting,using the network interface, the series of data packets comprisingpresence information of the user, for reception by the computer. Thesecond set of instructions might further comprise instructions forreceiving the first media content, instructions for receiving, from thecomputer, the at least one filtered portion of the first media content,instructions for presenting the first media content, and instructionsfor replacing, during presentation of the first media content, each ofthe at least one portion of the first media content with a correspondingone of the at least one filtered portion of the first media content,based on the determination that at least one portion of the first mediacontent should be filtered.

In still another aspect, an image capture device might be configured tobe accessible over a network. The image capture device might comprise animage sensor to capture at least one of image data or video data, acommunication system, one or more processors, and a computer readablemedium in communication with the one or more processors. The computerreadable medium having encoded thereon a set of instructions executableby the computer system to cause the image capture device to perform oneor more operations. The set of instructions might comprise instructionsfor collecting presence information of a user and instructions forsending the collected presence information to a computer over a networkto determine whether at least one portion of a first media contentshould be filtered during presentation of the first media content, basedat least in part on profile information of the user.

In some embodiments, the set of instructions might further compriseinstructions for identifying the user, based at least in part onidentifying information derived from at least a portion of the presenceinformation. The instructions for sending the collected presenceinformation to the computer might comprise instructions for sendinginformation pertaining to an identification of the user. In some cases,the set of instructions might further comprise instructions forpresenting the first media content and instructions for replacing,during presentation of the first media content, each of the at least oneportion of the first media content with a corresponding one of at leastone filtered portion of the first media content, based on adetermination that the at least one portion of the first media contentshould be filtered.

Various modifications and additions can be made to the embodimentsdiscussed without departing from the scope of the invention. Forexample, while the embodiments described above refer to particularfeatures, the scope of this invention also includes embodiments havingdifferent combination of features and embodiments that do not includeall of the above described features.

BRIEF DESCRIPTION OF THE DRAWINGS

A further understanding of the nature and advantages of particularembodiments may be realized by reference to the remaining portions ofthe specification and the drawings, in which like reference numerals areused to refer to similar components. In some instances, a sub-label isassociated with a reference numeral to denote one of multiple similarcomponents. When reference is made to a reference numeral withoutspecification to an existing sub-label, it is intended to refer to allsuch multiple similar components.

FIG. 1 is a block diagram illustrating a system for enabling orimplementing presence detection and/or automatic content filtering ofmedia content based on detected presence of users, in accordance withvarious embodiments.

FIGS. 2A and 2B are process flow diagrams illustrating various methodsof enabling or implementing presence detection and/or automatic contentfiltering of media content based on detected presence of users, inaccordance with various embodiments.

FIGS. 3A and 3B are process flow diagram illustrating various othermethods of enabling or implementing presence detection and/or automaticcontent filtering of media content based on detected presence of users,in accordance with various embodiments.

FIG. 4 is a process flow diagram illustrating yet another method ofenabling or implementing presence detection and/or automatic contentfiltering of media content based on detected presence of users, inaccordance with various embodiments.

FIG. 5 is a block diagram illustrating another system for enabling orimplementing presence detection and/or automatic content filtering ofmedia content based on detected presence of users, in accordance withvarious embodiments.

FIG. 6 is a generalized schematic diagram illustrating a computersystem, in accordance with various embodiments.

FIG. 7 is a block diagram illustrating a networked system of computers,which can be used in accordance with various embodiments.

DETAILED DESCRIPTION OF CERTAIN EMBODIMENTS

While various aspects and features of certain embodiments have beensummarized above, the following detailed description illustrates a fewexemplary embodiments in further detail to enable one of skill in theart to practice such embodiments. The described examples are providedfor illustrative purposes and are not intended to limit the scope of theinvention.

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the described embodiments. It will be apparent to oneskilled in the art, however, that other embodiments of the presentinvention may be practiced without some of these specific details. Inother instances, certain structures and devices are shown in blockdiagram form. Several embodiments are described herein, and whilevarious features are ascribed to different embodiments, it should beappreciated that the features described with respect to one embodimentmay be incorporated with other embodiments as well. By the same token,however, no single feature or features of any described embodimentshould be considered essential to every embodiment of the invention, asother embodiments of the invention may omit such features.

Unless otherwise indicated, all numbers used herein to expressquantities, dimensions, and so forth used should be understood as beingmodified in all instances by the term “about.” In this application, theuse of the singular includes the plural unless specifically statedotherwise, and use of the terms “and” and “or” means “and/or” unlessotherwise indicated. Moreover, the use of the term “including,” as wellas other forms, such as “includes” and “included,” should be considerednon-exclusive. Also, terms such as “element” or “component” encompassboth elements and components comprising one unit and elements andcomponents that comprise more than one unit, unless specifically statedotherwise.

Features Provided by Various Embodiments

Presence Detection Functionalities

Presence Detection Devices (“PDDs”) or Image Capture Devices (“ICDs”)provided by various embodiments can contain or communicate with, interalia, cameras, microphones, and/or other sensors (including, withoutlimitation, infrared (“IR”) sensors). These sensors, in conjunction withthe internal processing capability of the device, can allow the deviceto detect when a person is in the room. Additionally, through means suchas facial recognition and voice detection, or the like, the devices alsocan automatically recognize who is in the room. More specifically, suchdevices can detect the presence of a particular individual. In someaspects, ICDs might contain or communicate with, inter alia, imagecapture devices for capturing images or video of the person or people inthe room. In some cases, ICDs might also contain or communicate with,inter alia, microphones, and/or other sensors (including, withoutlimitation, infrared (“IR”) sensors). According to some embodiments,some ICDs might have similar functionality as PDDs.

In various embodiments, presence detection can be local and/or cloudbased. In the case of local presence detection, the PDD or ICD itselfmight keep a list of all user profiles and will attempt to match anindividual against its local list of all users. In cloud baseddetection, the functionality of user detection can be moved into serversin the cloud. A cloud based approach allows detection of a user'spresence to be mobile among various devices (whether or not owned by,and/or associated with, the user). That same user can be detected on hisor her device or on any other device that has the same capability andthat is tied into the same cloud infrastructure.

The ability to automatically detect the presence of an individual on anydevice presents a powerful new paradigm for many applications includingautomation, customization, content delivery, gaming, video calling,advertising, and others. Advantageously, in some embodiments, a user'scontent, services, games, profiles (e.g., contacts list(s), social mediafriends, viewing/listening/gaming patterns or history, etc.), videomail,e-mail, content recommendations, determined advertisements, preferencesfor advertisements, and/or preferences (e.g., content preferences,content recommendation preferences, notification preferences, and/or thelike), etc. can follow that user from device to device, includingdevices that are not owned by (or previously associated with) theindividual, as described in detail in the '279 application (alreadyincorporated herein). Alternatively, or in addition, presence detectionfunctionality can also allow for mobile presence detection that enablesremote access and control of ICDs over a network, following automaticidentification and authentication of the user by any device (e.g., PDD,ICD, or other device) so long as such device has authenticationfunctionality that is or can be tied to the access and control of theICDs, regardless of whether or not such device is owned or associatedwith the user. In other words, the ability to remotely access andcontrol one's ICDs over a network can follow the user wherever he or shegoes, in a similar manner to the user's content and profiles followingthe user as described in the '279 application. Such remote control ofICDs, as well as post-processing of video and/or image data captured bythe ICDs, is described in detail in the '263 application (which isalready incorporated by reference herein).

Various sensors on a PDD or an ICD (and/or a video calling device) canbe used for user detection. Facial recognition can be used to identify aparticular individual's facial characteristics, and/or voice detectioncan be used to uniquely identify a person. Additionally, PDDs, ICDs,and/or video calling devices may also have local data storage. Thislocal data storage can be used to store a database of user profiles. Theuser profiles can contain the various mechanisms that can be used toidentify a person, including username and password, facialcharacteristics, voice characteristics, etc. When sensors detect thefacial features or capture the voice of a particular individual, thatcaptured presence information can be compared against thecharacteristics of the users on the local storage. If a match is found,then the individual has been successfully identified by the device. (Asused herein, the term “presence information” can be any data orinformation that can be used to determine the presence of a user, and/orto identify and/or authenticate such a user. As such, presenceinformation can include raw image, video, or audio data, analyzed data(e.g., video or image data to which preliminary facial recognitionprocedures, such as feature extraction, have been employed, as well asverification of audio self-identification or verification of audiochallenge/response information), the results of such analysis, and eventhe end result of the detection process—i.e., a notification that a useris present and/or an identification of the user.)

Detection of a user's presence can also be performed via proximity of aPDD, an ICD, and/or a video calling device to another device. Forexample, if a user's mobile phone, smart phone, tablet, or PC is nearthe PDD, the ICD, and/or the video calling device, that person isautomatically detected. In some instances, a unique device identifierfor each of a user's devices might have previously been associated withthe user's profile in a cloud database or the like (i.e., making theuser's devices “known devices”), and detection of such unique deviceidentifiers might serve as a basis for identifying the user, or mightstreamline the identification process by verifying whether the personwith the device owned by or associated with the known device is the useror simply someone in possession of the device(s) (whether lawful orunlawful). Such verification might comprise one or more of facialrecognition, voice recognition, audio challenge/response verification,biometric analysis, or the like. In some cases, audio challenge/responseverification might include analysis of sub-vocal responses from theperson challenged, to prevent undesired casual overhearing of audiopasswords, audio keyphrases, or the like. In some instances, biometricanalysis might include analysis of any suitable biometric (aside fromfacial and voice recognition) selected from a group consisting offingerprint, iris, pupil, height, unique scar(s), other unique physicalcharacteristics, and/or any combination of these biometrics. To capturebiometric information such as fingerprints, iris, pupil, height, scar,or other unique physical characteristics, which might be image-basedbiometrics (which might be captured by a high resolution image capturedevice of the PDD, the ICD, and/or the video calling device), the PDD,the ICD, and/or the video calling device might prompt the person beingdetected to position himself or herself so that his or her fingerprints,iris, pupil, full body, scar, or other unique physical characteristics,respectively, are appropriately facing the image capture device of thePDD and/or the ICD.

In some embodiments, with detection of known devices and with automaticdetection/identification processes being enabled, it may be possible forthe system to identify persons not normally associated with a knowndevice being in possession of the known device. In such a case, thesystem might notify the original user (via e-mail or other forms ofcommunication indicated in the user's profile, or the like) of thesituation. In some instances, the user might indicate that the unknownperson does have authority or permission to use, or be in possession of,the user's device. In other cases, where the user indicates that theuser does not have authority or permission to use the device, the usermay be given options to proceed, including, without limitation, optionsto lock data, options to lock device functions, options to activatelocation tracking (including, without limitation, global positioningsystem (“GPS”), global navigation satellite system (“GNSS”), etc.) ofthe device (in case the system loses track of the device; e.g., in thecase the device moves outside the range of the system'ssensor/detection/communications systems), options to contact the unknownperson, options to activate speakers to emit sirens, options to activatedisplays or lights (e.g., light emitting diodes (“LEDs”), organic LEDs(“OLEDs”), liquid crystal displays (“LCDs”), etc.), and/or options tonotify authorities (e.g., police or other law enforcement personnel) ofthe situation and/or the location of the device (e.g., GPS coordinates,or the like), etc.

Additionally and/or alternatively, proximity detection can be done usingGNSS location tracking functionality, which can be found in manyelectronic devices and authenticating the user when the secondary deviceis within a predefined distance of the PDD, the ICD, and/or the videocalling device. Proximity detection can also be done wirelessly viaBluetooth or WiFi. With respect to Bluetooth, if the secondary devicepairs with the PDD, the ICD, and/or the video calling device, the usercan be considered detected. With respect to WiFi, one approach could beto see if the secondary device associates with the same WiFi accesspoint to which the PDD, the ICD, and/or the video calling device isconnected. Another approach to proximity detection is the use ofnear-field communications (“NFC”) commonly found in many electronicdevices. When the secondary device is within range of the PDD, the ICD,and/or the video calling device, a NFC detector can be used to determinethat the user is in the room. From these examples, a skilled readershould appreciate that many different techniques can be used to detectpresence based on device proximity.

According to some embodiments, regardless of the specific manner inwhich the user's electronic device, personal device, or user device isdetected, presence may be determined or inferred by knowing the locationof the personal device (which might include, without limitation, atleast one of a laptop computer, a smart phone, a mobile phone, aportable gaming device, a desktop computer, a television, a set-top box,or a wearable computing device, and/or the like). When the personaldevice is close to the display device (or the PDD, ICD, and/or videocalling device), it may be determined that the personal device (andhence the user associated with the personal device) is present. Based onthe presence of the user and information about the user, advertisementcontent (which may be determined to be relevant to the user) may be sentto the display device. In this manner, a highly targeted advertising maybe implemented (which may be embodied, in some cases, as a highlytargeted form of television advertisement, which may be thought of asbeing similar to what is done on web browsers today, but much moretargeted). From the user's perspective, when he or she is in the room,the advertisements on the display device (e.g., a TV or the like) maybecome customized to him or her (based on detection of the presence ofthe user and/or based on detection of the presence of his or herpersonal device, and, in some cases, based also on the user's profile,other information about the user, and/or the like). In some embodiments,the PDD/ICD/video calling device may be one of the personal deviceitself, a computer/server in the cloud, and/or the personal device inconjunction with some computer/server in the cloud, or the like. Theadvertisement may be sent to a local content source (e.g., an STB or thelike) or another PDD/ICD/video calling device that has the ability tocontrol content being played or sent to the display device (and/or, ofcourse, to receive the advertisement from a content server). Such amethod or apparatus may allow for the targeted presentation (or selling)of advertisements directly to the display device (e.g., TV or the like),based on characteristics of the user. In some cases, among otherinformation about the user that can be taken into account, determinationof advertisements to send to the display device might be based on, ormight otherwise take into account, the user's Internet browsing history,the user's Internet browsing patterns, the user's Internet browserbookmarks/favorites, and/or the like.

In some embodiments, detection of an individual can be fully automaticand might (in some instances) require no user interaction. For example,the system can characterize an individual's facial features (and/orunique physical characteristics or other biometrics) automatically,detect the presence of a secondary device, characterize an individual'svoice print automatically, etc. Several detection methods can be used incombination to reduce errors in the detection process. For example, ifthe system detects a person in the room and first identifies thatperson's facial features, it can then prompt them for voice (e.g., “Bob,is that you?”). Once the user's voice is captured, that audio sample canbe compared against the stored voice characteristics for that user, toreduce false detection. Another approach for the second step may be toprompt the user to speak a PIN or password to be compared against whatis stored in the user profile. Using this approach, the characteristicsof the speech (e.g., user's voice, cadence, syntax, diction) and thecontent of the speech (e.g., a PIN or password) can be jointly used toreduce false detections. To prevent eavesdropping of passwords or PINs,the audio capture device might be configured to capturesub-vocalizations of the passwords or PINs, for analysis. Alternativelyand/or additionally, the system can prompt the user to position his orher body so as to allow the image capture device to face one or more ofthe user's fingers (e.g., for fingerprint analysis), the user's eyes(e.g., for iris and/or pupil analysis), the user's full body (e.g., forheight analysis), portions of the user's body (e.g., for analysis ofscars or other unique physical characteristics, or the like), etc.

In some embodiments, physical geography can be used as a metric indetection to reduce the possibility of errors. For example, if a user isknown to use the system in Dallas, Tex., and then is detected in Madrid,Spain, the system can weigh detection in Spain lower than detection inDallas. Additionally, if the user is detected in Spain, a secondaryauthentication method may optionally be invoked to reduce falsedetection. According to some embodiments, in the case that the systemhas access to profile or other personal information of the user such ascommunications, calendar items, contacts list, travel/itineraryinformation, or the like that might indicate that the user might bevisiting a friend or relative in Spain having a similar PDD, ICD, and/orvideo calling device linked to a common network or cloud server, thesystem might determine that the user is or will be in Spain. In such acase, the user's profiles, media content, preferences, contentrecommendations, determined advertisements, preferences foradvertisements, or the like (or access thereto) might be sent to thefriend's or relative's device in Spain or to a local data center or thelike to allow the user to access the user's own content or profiles onthe friend's or relative's device during the visit; in particularembodiments, the user's profiles might include access and controlinformation for remotely accessing and controlling the user's ICDs overa network, while the user's content might include image data and/orvideo data captured by the user's ICDs (either in raw or processedform). After the scheduled visit, it may be determined using anycombination of the user's personal information, the user's devices(including the user's PDD, ICD, and/or video calling device, mobiledevices, etc.), and/or the friend's or relative's device whether theuser has left the friend's or relative's location (in this example,Spain). If so determined, the content and profiles (or access thereto,as the case may be) might be removed from the friend's or relative'sdevice (and/or from the data center or the like that is local to saiddevice).

In particular embodiments, a PDD, an ICD, and/or a video calling devicecan also be connected to a network, such as the Internet. In such ascenario, the database of user profiles, including identifiable facialand/or voice characteristics, as well as other identifying information(e.g., passwords, identifying information for other devices owned by theuser, etc.), can be stored on servers located in the cloud, i.e., on thenetwork or in a distributed computing system available over the network.In some cases, the distributed computing system might comprise aplurality of PDDs, a plurality of ICDs, and/or a plurality of videocalling devices in communication with each other either directly orindirectly over the network. The distributed computing system, in someinstances, might comprise one or more central cloud servers linking theplurality of PDDs, the plurality of ICDs, and/or the plurality of videocalling devices and controlling the distribution and redundant storageof media content, access to content, user profiles, user data, contentrecommendations, determined advertisements, preferences foradvertisements, and/or the like. When an individual's facial featuresare detected by a PDD, an ICD, and/or a video calling device, thosefeatures (and/or an image captured by the PDD, the ICD, and/or the videocalling device) can be sent to a server on the network. The server thencan compare the identifiable facial features against the database ofuser profiles. If a match is found, then the server might inform thedevice of the identity of the user and/or might send a user profile forthe user to the device.

User profiles, including facial characteristics, can be stored bothlocally on the device and on a server located in the cloud. When usingboth device-based and cloud-based databases, user identification can beperformed by first checking the local database to see if there is amatch, and if there is no local match, then checking the cloud-baseddatabase. The advantage of this approach is that it is faster for useridentification in the case where the user profile is contained in thelocal database. In some embodiments, the database on the device can beconfigured to stay synchronized with the database in the cloud. Forexample, if a change is made to a user profile on the device, thatchange can be sent to the server and reflected on the database in thecloud. Similarly, if a change is made to the user profile in thecloud-based database, that change can be reflected on the devicedatabase.

Matching presence information or identifying information with anindividual having a user profile can be a form of authentication in someembodiments. User profiles can also contain information necessary formany authentication mechanisms. Such information may includechallenge/response pairs (such as username and password combinations,security question/pass phrase combinations, or the like), facialrecognition profiles, voice recognition profiles, and/or other biometricinformation, such as fingerprints, etc. An individual may beauthenticated using any combination of such techniques.

In some cases, the system can also determine when a user is no longerpresent. Merely by way of example, a PDD, an ICD, and/or a video callingdevice might continually (or periodically) monitor for the user'spresence. For instance, in the case of facial recognition, the devicecan continually check to detect whether a captured image includes theuser's face. With voice recognition, after a period of inactivity, thedevice might prompt the user if they are there (e.g., “Bob, are youstill there?”).

According to some embodiments, user profiles can work acrossheterogeneous networks. Not all user devices need to be the same. Someuser devices might be PDDs, ICDs, and/or video calling devices. Otheruser devices might be computers, tablets, smart phones, mobile phones,etc. Each device can use any appropriate method (based on devicecapabilities) to determine the presence of, identify, and/orauthenticate the user of the device with a user profile.

In an aspect, this automated presence detection can be used to provideuser information (e.g., content, content recommendations, determinedadvertisements, preferences for advertisements, and/or services) to anidentified user. With a PDD, an ICD, and/or a video calling device, whena user enters the room, and the camera sensors detect that user's facialfeatures (or other biometric features) and authenticates the individual,the content associated with that user profile (including, withoutlimitation, profile information for handling media content, for handlingcontent recommendations, for handling notification of contentrecommendations, for handling determination of advertisements, forhandling presentation of advertisements, and/or the like) canautomatically become available to that individual. Additionally, withthe cloud-based authentication approach described herein, that user'scontent, content recommendations, determined advertisements, preferencesfor advertisements, and/or profiles can become available on any device.More specifically, if a user is identified by another PDD, ICD, and/orvideo calling device, then his or her content (e.g., media content,and/or the like), content recommendations, determined advertisements,preferences for advertisements, profiles, etc., become available to himor her even if the PDD, ICD, and/or video calling device that he or sheis in front of is not the user's own device. This functionality allows anew paradigm in which the user's content, content recommendations,determined advertisements, preferences for advertisements, and/orprofiles follow the user automatically. Similarly, when upgrading PDDs,ICDs, and/or video calling devices, detection, identification, andauthentication of the user on the new device can allow automatic andeasy porting of the user's content, content recommendations, determinedadvertisements, preferences for advertisements, and/or profiles to thenew device, allowing for an ultimate type of “plug-and-play”functionality, especially if the profiles include information onconfigurations and settings of the user devices (and interconnectionswith other devices).

PDDs, ICDs, and/or video calling devices also are capable of handling,transmitting, and/or distributing image captured content, which caninclude, but is not limited to, video mail and/or video mail datacaptured or recorded by the video calling devices. In some cases, thevideo mail and/or video mail data might be raw data, while in othercases they might be post-processed data. Video mail and/or video maildata can be stored on servers in the cloud, on PDDs, ICDs, and/or videocalling devices in the cloud, and/or locally on a particular userdevice. When accessing video mail and/or video mail data from anotherdevice, the first PDD and/or video calling device that has the videomail and/or video mail data stored thereon needs to serve the video mailand/or video mail data to the new device that the user is using. Inorder to do this, the new PDD, ICD, and/or video calling device mightneed to get a list of video mail and/or video mail data that is storedon the first PDD and/or video calling device. This can, in someembodiments, be facilitated via a server that is in the cloud that allPDDs, ICDs, and/or video calling devices are always or mostly connectedto. The server can communicate with all PDDs, ICDs, and/or video callingdevices and help send messages between PDDs, ICDs, and/or video callingdevices. When a user is authenticated with a new PDD, ICD, and/or videocalling device, the new device can request the list of video mail and/orvideo mail data from the first device. If the user requests video mailand/or video mail data from the new device, then the first PDD, ICD,and/or video calling device (or the other user device) can serve thevideo mail and/or video mail data to the new device. This can be doneeither directly in a peer-to-peer fashion or can be facilitated by theserver. In some embodiments, this communication can be accomplished byusing protocols such as XMPP, SIP, TCP/IP, RTP, UDP, etc. Videomailcapture, processing, and distribution is described in detail in the '499application, which is already incorporated herein by reference.

As discussed above, identification and authentication of a user by aPDD, an ICD, and/or a video calling device (whether or not associatedwith or owned by the user) can provide the user with remote access andcontrol of the user's PDD(s), ICD(s), and/or video calling device(s)over a network (e.g., by porting the user's profiles associated withremote access and control of the user's device(s), and/or the like tothe current PDD, ICD, and/or video calling device in front of which theuser is located). This functionality allows the user to remotely accessmedia content, to remotely access and modify settings for contentrecommendations, to remotely access and modify settings foradvertisements, and to remotely access and modify user profiles, and/orthe like.

Master Account

Some embodiments employ a master account for access to a video callingdevice. In an aspect, a master account can be created on a per userbasis. This master account might serve as the top-level identifier for aparticular user. In some cases, the master account may be used tomanage, control, and monitor a user's camera(s) and/or other devicefunctionalities (whether hardware and/or software-based). Additionally,the master account can be used to control any account or device levelservices that are available.

For example, an email account and password can be used as a masteraccount to manage a user's settings for accessing media content, foraccessing and modifying settings for content recommendations, foraccessing and modifying settings for advertisements, and for accessingand modifying user profiles, and/or the like.

Device Association

For proper management and control of a PDD, ICD, and/or video callingdevice, some embodiments provide the ability to reliably associate aPDD, ICD, and/or video calling device with a master account (i.e.,assign the device to the master account). When a PDD, ICD, and/or videocalling device is associated with an account, then it can be managed andcontrolled from within the master account. Association ensures that aPDD, ICD, and/or video calling device is being controlled by theappropriate user and not an unauthorized user.

A PDD, ICD, and/or video calling device may be associated with aparticular master account at the time of the device setup. During devicesetup, the user is prompted to enter a master account and password. Whendoing so, a secure communications channel may be opened up between videocalling device and servers. Then, a unique and difficult to guess keycan be sent from the device to the server. Servers that have a masterlist of all keys then can associate that particular device, via itsserial number, to a particular master account. A feature of thisapproach is that a user only needs to enter a password at the time ofdevice setup. The user never needs to enter a password again, and infact, passwords do not need to be stored on the device at all, makingthem very secure.

Device Management and Remote Configuration

Once a device has been associated with a master account, it may bemanaged from the master account via an interface such as a webinterface, in accordance with some embodiments. The communication linkbetween the device and server may, in some cases, be always encryptedand authenticated. This ensures that messages between device and serverare secure and ensures that the device knows it is communicating withthe server on behalf of the appropriate master account. Once the secureand authenticated link is established, devices can connect to the serverand are able to send and receive commands.

The device and server can have a common set of command codes andresponses. Servers can send commands down to the camera(s) to enactspecific behavior. For example, the server can send remote configurationcommands. These commands can be items such as changing the deviceaddress, changing the nickname that is associated with the device,changing the avatar image associated with the device. In addition toconfiguration, the commands can be used to enact specific behavior onthe device, such as running network tests, or taking a live image(s)from the video calling device. New commands and features can be added byextending the set of command codes on the device and server.

Media Content Recommendation

PDDs, ICDs, and/or video calling devices also are capable of determiningand/or generating media content recommendations, based on a number offactors. In some cases, the factors might include, without limitation,what the user is viewing, listening to, and/or playing, what friends ofthe user (e.g., known friends, social media friends, and/or the like)are viewing, listening to, and/or playing, trending media content,reactions of the user to media content, etc.

By analyzing what users are viewing, the various systems are able todetermine what programs and television stations are of particularinterest to particular users. This information can then be provided tothe particular users, thereby helping them to find programs that aremost interesting to them, in a timely fashion. The various embodimentsinclude various methods and systems for determining what users arewatching, various methods and systems for analyzing the collected datato determine trends, and/or various methods and systems for providinginformation to users to help guide their viewing, listening, and/orgaming experience.

In some embodiments, a PDD might connect to a server via an Internetconnection. The server may be thought of as being in the cloud. In somecases, the PDD might also provide a pass-through connection between aset top box (“STB”; or other local content source) and a display device(e.g., a television or TV; which in some cases might have audio outputcapabilities), in some instances via high-definition multimediainterface (“HDMI”) cable connections or similar cable connections; thatis, media content that is received from the STB is sent to the PDD andthe PDD then passes that media content to the TV. In some cases, the PDDmight modify the signals carrying the media content to enhance or addadditional content and/or information prior to output of the mediacontent. The PDD might monitor content coming from the STB and mightdetermine what the content is. Alternatively, or additionally, the PDDmight monitor content received through the network (e.g., Internet),which may not necessarily be sent from the STB. The PDD mightsubsequently provide the monitored data or information to the server foranalysis. The server might analyze the monitored data or informationfrom many PDDs and might form or generate recommendations of mediacontent. These recommendations might then be provided to individualPDDs, which might make the recommendations to the user (i.e., bydisplaying or otherwise presenting the recommendations to the user). Insome cases, the recommendation to the user may be via audio and/or videonotice, and the recommendation may be made by passing the audio and/orvideo notice to the TV. Alternatively, or additionally, therecommendation to the user may be via e-mail message, text message, chatmessage, short message service (“SMS”) message, multi-media messagingservice (“MMS”) message, videomail message, voicemail message, and/orother messaging communications.

Media content recommendations and generation thereof (in some cases,based on trend estimation) is described in detail in the '435application, which is already incorporated herein by reference.

Advertising Based on Physical Presence

Various methods allow for analyzing programming to determineadvertisements based on presence information of a user. Further, byanalyzing what users are viewing, the various systems are able todetermine what programs and television stations are of particularinterest to particular users. This information can then be provided toadvertisers, thereby helping them to find, generate, or createadvertisements that are most interesting to the user, preferably in atimely fashion (so as to not be out of date with what the user iscurrently interested in). The various embodiments include variousmethods and systems for determining what users are watching, variousmethods and systems for analyzing the collected data to determinetrends, and/or various methods and systems for determining and providingadvertisements to users that are relevant to the user.

In some embodiments, a PDD might connect to a server via an Internetconnection. The server may be thought of as being in the cloud. In somecases, the PDD might also provide a pass-through connection between aset top box (“STB”; or other local content source) and a display device(e.g., a television or TV; which in some cases might have audio outputcapabilities), in some instances via high-definition multimediainterface (“HDMI”) cable connections or similar cable connections; thatis, media content that is received from the STB is sent to the PDD andthe PDD then passes that media content to the TV. In some cases, the PDDmight modify the signals carrying the media content to enhance or addadditional content (including advertisements) and/or information priorto output of the media content. The PDD might monitor content comingfrom the STB and might determine what the content is. Alternatively, oradditionally, the PDD might monitor content received through the network(e.g., Internet), which may not necessarily be sent from the STB. ThePDD might subsequently provide the monitored data or information to theserver for analysis. The server might analyze the monitored data orinformation from many PDDs and might determine advertisements that arerelevant to the user. These advertisements might then be provided toindividual PDDs, which might present the advertisements to the user(i.e., by displaying or otherwise presenting the advertisements to theuser). In some cases, the advertisements may be presented via audioand/or video notice, and the advertisements may be made by passing theaudio and/or video notice to the TV. Alternatively, or additionally, theadvertisements may be presented via e-mail message, text message, chatmessage, short message service (“SMS”) message, multi-media messagingservice (“MMS”) message, videomail message, voicemail message, and/orother messaging communications.

While the analysis function may be performed in the PDD, it is mosttypically performed in the server that is connected to the PDD over theInternet or other network. In some cases, there may be multiple PDDs(although multiple PDDs is not a requirement). The PDDs have the abilityto monitor programming from their respective STB or local contentsource. The PDDs may also monitor content that are played directly fromthe Internet (e.g., from YouTube™ or some other media content source(e.g., an audio, video, and/or gaming content source)).

In some embodiments, data from the PDDs (some of which might bemonitored by the PDDs) may be stored in a database, and the data may beaccessed by the server (which might include an analysis server(s)). Theserver may then take into account various factors to calculate,determine, or generate an advertisement(s) that is(are) customized to auser or a group of users. Example factors might include, withoutlimitation, age factor of a media content, trending quotient orcharacteristic of the media content, geographical factor of the mediacontent, topic of the media content, and so on.

In some cases, the factors might include other media content-basedinformation, audience-based information, and/or the like. In someembodiments, other media content-based information might include,without limitation, at least one of type of media content of the mediacontent that is presented to the user and monitored by the PDD (herein,referred to as “first media content”), genre of media content of thefirst media content, duration of media content of the first mediacontent, time of day that the first media content is received and/orpresented (which may be determined using network time protocol (“NTP”)or the like), performers (e.g., actors, actresses, singers or vocalists,band members, musicians, orchestras, voice artists, etc.) associatedwith the first media content, producers (e.g., directors,film/video/music/game producers, game developers, artists, etc.)associated with the first media content, year of release of the firstmedia content, reviews (e.g., by industry-based critics or by averageviewers/listeners/gamers/etc.) of the first media content, and/or othermedia content related to the first media content. In some instances,audience-based information might include, but is not limited to, atleast one of number of audience members present during presentation ofparticular portions of the first media content, identity of eachaudience member, gender of each audience member, age of each audiencemember, demographic group to which each audience member belongs (i.e.,other than age or gender, which might include, without limitation, atleast one of ethnicity, culture, language-proficiency, location,socio-economic grouping, income, political leanings, and/or the like),viewing patterns of each audience member, specific reactions of eachaudience member during presentation of particular portions of the firstmedia content, overall reactions of each audience member throughoutpresentation of the first media content, consistency of audience memberreactions of each audience member compared with personal preferences ofthe audience member, consistency of audience member reactions of eachaudience member compared with past reactions of the audience member,and/or the like.

Although a number of factors are listed above, not all these listedfactors need be taken into account. In some instances, differentweightings might be given to one or more of these factors, asappropriate or as desired. In some cases, the different weightings mightbe determined through iterative processes based on past decisions by theuser, viewing/listening/playing patterns of the user, and/or the like,in order to better tailor or otherwise more effectively determineadvertisements relevant to the user.

After determining the advertisements, the advertisements may be sent tothe PDD and may be presented to the user. In some cases, theadvertisements may be displayed on the TV by overlaying video on top ofthe video coming from the STB. Various configurations for such overlayis described in detail with respect to FIGS. 2 and 5 below. In someinstances, audio advertisements may similarly be sent to the TV or otheraudio output device (e.g., speakers, etc.), either in conjunction withor separate from the video advertisements. According to some cases, anyaudio advertisements may be overlaid on top of currently presentedaudio, overlaid on top of a muted currently presented audio, playedinstead of currently or normally presented audio, or the like.

In some cases, the PDD might present advertisements together with anaudio prompt (in some instances, accompanied by a video prompt). The PDDmight play these audio prompts (possibly using text-to-speechtechnology) via the TV, via an audio output device (e.g., speaker) onthe PDD, and/or via some other connected audio output device. Using amicrophone (which, in some cases, might be built into the PDD), thedevice can obtain feedback from the user, and such feedback can be sentto advertisers and/or stored by the system to enhance futuredeterminations of advertisements for the user.

In some embodiments, the PDD may also interface with (or have integratedtherein) a camera or other video/image capture device. The camera may beused to determine the number of people in the room, as well as the mood,gender, age, identity, etc., of each person. As discussed above, thesecharacteristics may be used to determine (or in some cases, optimizedeterminations of) advertisements.

Merely by way of example, in some embodiments, as part of the user'sprofile or options in the user's profile, the user may be given theoption to opt in or opt out of having his or her data monitored orotherwise used in the determination of advertisements for him/her and/orfor others.

According to some embodiments, inline cameras (which in some cases canbe a stand-alone device or a device embodied in another suitable deviceincluding, but not limited to, a PDD as discussed above, or a videocalling device, and/or the like) can also contain cameras, microphones,and other sensors. These sensors, in conjunction with the internalprocessing capability of the device allow the device to know whensomeone is in room. Additionally, the devices can also recognize who isin the room. They can also tell if users are actually looking at thetelevision. These capabilities allow for very customized advertisingbased on whether someone is in the room, the identity of the person(s)in the room, and if they are looking at the TV. For example, the abilityto determine whether someone is looking at the TV is a very useful toolfor advertising, as it allows for feedback and the ability to determinewhether advertising is effective. Inline cameras can use this tocustomize advertising for a particular user and to gauge theeffectiveness of ads for advertisers.

In some embodiments, inline cameras can also determine the content ofthe audio/visual (“A/V”) stream that is coming from a set-top box(“STB”) or other local content source. This can be done in a number ofways. One way in which content can be identified is to search forwatermarks that are often embedded in the audio/video stream itself.Watermark identification can be accomplished by using the processor inthe inline camera to search for a known audio and/or video pattern thatis embedded in the stream. The watermarks may be perceptible orimperceptible to users that may be watching the content. Once thewatermark is identified, the channel or content that the STB is set tocan be identified. According to some embodiment, rather than (or inaddition to) the audio and/or video watermarks embedded in the stream,the watermarks might include digital watermarks that might be embeddedin the stream; such digital watermarks might include headers, footers,or data packets embedded between headers and footers that provideidentification information regarding the A/V stream and/or contentsource.

Another approach to determining the content of the STB is classify thesource of the content in the A/V stream itself by searching either forkeywords, phrases that can be used for identification purposes or by“fingerprinting” the A/V stream and comparing the fingerprint against adatabase of fingerprints that are either local to the inline camera oron a network (such as on a control server, as described below). Bydetermining the content coming from the STB, inline cameras can overlayadvertising that is relevant to the A/V source that is coming from theSTB. For example, if a user is watching a football game, thenadvertising relevant to the situation (i.e., the name of a local pizzashop that delivers to the user's home, deals for football memorabilia orteam merchandise for the user's preferred team(s), etc.) can bedisplayed.

In other embodiments, inline cameras with cameras (or other sensors)also have an advantage over typical broadcast type advertising. Thesensors on such devices know when users are in the room. The timing ofwhen advertising can be set specifically to when someone is known (ordetected and identified) to be in the room. In this manner, thelikelihood of ads being viewed is much higher than broadcast advertisersare typically accustomed to. Further, inline cameras with cameras candetermine not only that someone is in the room, but they can alsodetermine who is in the room, using their sensors and facial recognitioncapability, or the like. This information allows for much more targetedtype of advertising, because a particular user's profile and personalpreferences can be used for advertising. For example, an adult malewatching a football game can be shown a particular ad, while a femalechild watching the same show can be shown something entirely different.Additionally, when groups of people are in the room, ads that best fitthe demographic of the people in the room can be shown. For example,when a device detects 3 adult females in the room and 2 male children,the system might determine to target the adult females.

In another aspect, some inline cameras can also determine whether or nota user is actually watching the television using its cameras and thefacial recognition/eye tracking technology. This capability can be usedto determine whether or not a user is watching or has watched aparticular advertisement that is being displayed. This type of feedbackis invaluable to advertisers, as it provides information that can begathered and analyzed. The statistics can be given or sold back toadvertisers who can then gauge the effectiveness of their ads. Somewhatsimilarly, inline cameras can also use the fact that they know whensomeone is watching to help determine when to display ads. The timing ofads can be done based on whether someone is actually watching thetelevision or based on who is watching the television. For example, adscan be displayed when anyone is watching a particular show, or only whenadults over the age of 40 are watching a particular show, and so on.

Physical presence can also be used to create enhanced placements for TVads. Ads placements can be sold to advertisers based on (i) whetherusers are confirmed to be in the room or not, (ii) based on the numberof users in the room, (iii) demographic profile of user in the room,(iv) number of users in the room, (v) whether a particular individual isin front of their TV, (vi) whether a user has watched a particular ad ornot, (vii) what content a user is watching, (viii) time of day an ad isplayed, etc.

Determination and/or generation of advertisement deemed relevant to auser(s) (in some cases, based on trend estimation) is described indetail in the '133 and '603 applications, which have already beenincorporated herein by reference.

Automatic Content Filtering

PDDs, ICDs, and/or video calling devices also are capable of detectingor collecting presence information of one or more users for the purposesof content filtering or censoring. Based on such presence information, aserver and/or the PDDs, ICDs, and/or video calling devices can determinewhether at least one portion of the content should be filtered. Suchdetermination may be based on any combination of the following: (a) userpreferences in user profiles of each detected and/or identified user;(b) identified specific portions of media content (i.e., video content,image content, game content, and/or audio content, or the like) that areindicated in a database as being potentially offensive or objectionable(either to the specific detected and/or identified users, to ademographic group(s) to which the users belong, or to people withincertain communities, localities, or regions, or the like); (c) userinput (either prior to or contemporaneous with presentation of the mediacontent; e.g., including, button inputs on a remote controller, gesturecontrol, or voice input (e.g., “Computer, Pause!”; “Biscotti, Censor!”;“Biscotti, Stop!”; and/or a preset keyphrase; or the like)), from adetected user or another user (e.g., a parent or guardian of thedetected user), who may or may not be present or detected, indicatingthat the at least one portion of the media content should be filtered;(d) analysis by the system of the media content being presented toidentify potentially offensive or objectionable content (either prior topresentation of the media content or as the media content is beingpresented); and/or the like. In some cases, the database might storemarked locations of potentially offensive content as identified by theuser or marked locations of potentially offensive content as compiledfrom a plurality of users (not unlike a crowd-sourced compilation ofinformation or the like). Herein, “filtering” media content may refer to(and can include without limitation) any form of modification in thepresentation of the media content including, but not limited to,blocking, filtering, pausing, replacing, hiding, skipping, removing,and/or the like, at least portions of the media content.

Based on a determination that at least one portion of the media contentshould be filtered, the server and/or the PDDs, ICDs, and/or videocalling devices may implement filtering of the at least one portion ofthe media content. In some embodiments, implementing filtering ofcontent can include, but is not limited to one or more of: (i) blankingdetermined portions of video or game content, while audio content (ifnot inappropriate or offensive) continues to be presented; (ii) pausingportions of video or game content just prior to the determined portionsof video or game content, while audio content (if not inappropriate oroffensive) continues to be presented; (iii) replacing entire scenes invideo or game content with replacement scenes that do not includeoffensive or objectionable content (in some cases, using a “cleanversion” of the content provided by the content provider rather than the“uncut version” or the like); (iv) skipping entire scenes in video orgame content rather than presenting potentially offensive orobjectionable content; (v) replacing portions of video content, imagecontent, audio content, and/or game content with replacement content;and/or the like. In some cases, replacement content might include,without limitation, polygons (which may be colored as appropriate tostandout or to blend with the remainder of the content), pixelatedimages, blurred images, smiley faces, predetermined images (which may ormay not be customized to the media content, to subject matter related tothe media content, to the user, etc.), random images, tones (e.g., 1 kHztone or the like), bleeps, muted audio clips (i.e., clips in which thesound has been lowered in volume, within a range of minimally loweredthrough lowered to a point of imperceptibility by a human), audio blanks(i.e., soundless or quiet audio clips; which differs from muted audioclips in that the clip of the audio blanks contains no sound, ascompared with adjustably lowered sound volume level, or a set (orpre-set) sound volume level, as in muted audio clips), replacementwords, and/or the like. In some instances, replacement words may bematched, in terms of the gender, age, nationality, accent, and/orcharacteristics of a speaker of the potentially offensive words. Forexample, a male character in a movie having a French accent might say apotentially offensive word (e.g., a swear word or other foul language).In such a case, replacement words might be modulated or generated tomimic the male character's French accent and vocal characteristics tosubstitute the offensive word with a more acceptable (i.e., lessoffensive or non-offensive) word.

In some embodiments, inline cameras can also determine the content ofthe audio/visual (“A/V”) stream that is coming from a set-top box(“STB”) or other local content source. This can be done in a number ofways. One way in which content can be identified is to search forwatermarks that are often embedded in the audio/video stream itself.Watermark identification can be accomplished by using the processor inthe inline camera to search for a known audio and/or video pattern thatis embedded in the stream. The watermarks may be perceptible orimperceptible to users that may be watching the content. Once thewatermark is identified, the channel or content that the STB is set tocan be identified. According to some embodiment, rather than (or inaddition to) the audio and/or video watermarks embedded in the stream,the watermarks might include digital watermarks that might be embeddedin the stream; such digital watermarks might include headers, footers,or data packets embedded between headers and footers that provideidentification information regarding the A/V stream and/or contentsource. In some embodiments, markers, other than watermarks, may beincluded in video, audio, and/or side channels or streams to indicateportions of the content as being one or more of content to be filteredfor a first group of users (e.g., child users or the like), content tobe filtered for a second group of users (e.g., adult users that haveindicated in user profiles and/or past actions that certain contentshould be filtered), replacement content, alternative replacementcontent, and/or the like. In some cases, watermarks, whether perceptibleor imperceptible, may be a type of marker.

Another approach to determining the content of the STB is classify thesource of the content in the A/V stream itself by searching either forkeywords, phrases that can be used for identification purposes or by“fingerprinting” the A/V stream and comparing the fingerprint against adatabase of fingerprints that are either local to the inline camera oron a network (such as on a control server, as described below). Bydetermining the content coming from the STB, inline cameras can overlayadvertising that is relevant to the A/V source that is coming from theSTB. For example, if a user is watching a football game, thenadvertising relevant to the situation (i.e., the name of a local pizzashop that delivers to the user's home, deals for football memorabilia orteam merchandise for the user's preferred team(s), etc.) can bedisplayed. In some cases, “fingerprinting” may be a type of marker.

In some embodiments, markers may indicate the nature of (the portion of)the media content at any point in time. For example, markers canindicate ratings (e.g., PG-13, PG, M, R, etc.) for the overall mediacontent and/or for each of particular portions of the media content.Markers, according to some embodiments, can also include a more finegrained indicator indicating the nature (and not simply an abstractrating) of the content for each of particular portions of the mediacontent and/or at any point in time. In some instances, the nature ofthe content being indicated by the marker might include, withoutlimitation, suggestive sexual content, explicit sexual content, partialnudity, full nudity, violent content, coarse or offensive language,and/or the like. In some embodiments, if the markers are notconcurrently presented with the media content or not embedded in themedia content, the particular portions and particular locations in themedia content of the different natures of the portions of the mediacontent may also be included. In some cases, such markers (including,without limitation, overall rating, particular rating, and/or finegrained indicator, etc.) may be used to convey information about atleast portions of the media content, and in some cases, might beimplemented in side channels or streams that are concurrently broadcastor streamed together with the channel or stream in which the mediacontent is broadcast or streamed. In some cases, these markers (e.g.,overall rating, particular rating, and/or fine grained indicator, etc.)may be imbedded within the media content being presented.

In some embodiments, it may further be determined whether to stopfiltering the media content. For example, when a child user's presenceis detected, filtering may be determined and implemented. However, whenthe child user leaves the room, and no other person left in the roomwould be offended by the potentially offensive content, thenpresentation of the original unfiltered media content may be resumed,without further filtering of the media content (unless the child userreturns or someone known to be offended by the content enters the room,to name a few non-limiting examples). In some cases, resumption ofpresentation of the unfiltered content may be automatic, while inalternative cases the remaining user(s) might enter user inputs toresume presentation (e.g., voice input (such as “Computer, resume!”;“Biscotti, unfilter!”; or other preset keyphrases; or the like); buttoninput on a remote controller; gesture input; and/or the like).Alternatively, although it may be determined that a majority of thepeople in a particular community might find a particular word to beoffensive, and filtering may be appropriate for those people, a personwhose presence is detected by the system might have previously indicatedthat she does not find that particular word to be offensive. Based onsuch determination, if no potentially offended person's presence is alsodetected, presentation of the media content containing that particularword may be presented (from the beginning or as a whole) without anyfiltering of the media content to censor that particular word.

These and other content filtering techniques and implementations aredescribed in detail below with respect to FIGS. 1-7.

Exemplary Embodiments

FIGS. 1-7 illustrate exemplary embodiments that can provide some or allof the features described above. The methods, systems, and apparatusesillustrated by FIGS. 1-7 may refer to examples of different embodimentsthat include various components and steps, which can be consideredalternatives or which can be used in conjunction with one another in thevarious embodiments. The description of the illustrated methods,systems, and apparatuses shown in FIGS. 1-7 is provided for purposes ofillustration and should not be considered to limit the scope of thedifferent embodiments.

FIG. 1 illustrates a functional diagram of a system 100 for controllingone or more presence detection devices (“PDDs”), one or more imagecapture devices (“ICDs”), and/or one or more video calling devices(labeled user devices 105 in FIG. 1 for ease of illustration, butdescribed herein as PDDs, ICDs, or video calling devices, each of whichcan be considered a type of user device). The skilled reader should notethat the arrangement of the components illustrated in FIG. 1 isfunctional in nature, and that various embodiments can employ a varietyof different structural architectures. Merely by way of example, oneexemplary, generalized architecture for the system 100 is describedbelow with respect to FIG. 7, but any number of suitable hardwarearrangements can be employed in accordance with different embodiments.

An ICD 105, a video calling device 105, or a PDD 105 can be any devicethat is capable of communicating with a control server 110 over anetwork 115 and can provide any of a variety of types of advertisementdetermination functionality, content recommendation functionality, videocommunication functionality, presence detection functionality, contentfiltering determination functionality, content filtering functionality,and/or the like. Merely by way of example, in some aspects, an ICD 105,a video calling device 105, or a PDD 105 can be capable of providingpass through video/audio to a display device (and/or audio playbackdevice) from another source (such as a local content source), and/oroverlaying such video/audio with additional content generated orreceived by the ICD 105, the video calling device 105, or the PDD 105.In other aspects, an ICD 105, a video calling device 105, or a PDD 105can comprise one or more sensors (e.g., digital still cameras, videocameras, webcams, security cameras, microphones, infrared sensors, touchsensors, and/or the like), and/or can be capable, using data acquired bysuch sensors, of sensing the presence of a user, identifying a user,and/or receiving user input from a user; further, an ICD 105, a videocalling device 105, or a PDD 105 can be capable of performing some orall of the other functions described herein and/or in any of the RelatedApplications. Hence, in various embodiments, an ICD 105, a video callingdevice 105, or a PDD 105 can be embodied by a video calling device, suchas any of the video communication devices (“VCDs”) described in the '182patent, a video game console, a streaming media player, to name a fewnon-limiting examples.

In one aspect of certain embodiments, as described more fully withrespect to FIG. 5 below (or as described in the Related Applications),an ICD 105, a video calling device 105, or a PDD 105 can be placedfunctionally inline between a local content source and a display device.A local content source can be any device that provides an audio or videostream to a display device and thus can include, without limitation, acable or satellite set-top box (“STB”), an Internet Protocol television(“IPTV”) STB, devices that generate video and/or audio, and/or acquirevideo and/or audio from other sources, such as the Internet, and providethat video/audio to a display device; hence, a local content source caninclude devices such as a video game console, a Roku® streaming mediaplayer, an AppleTV®, and/or the like. When situated functionally inlinebetween a local content source and a display device, the ICD, the videocalling device, or the PDD can receive an audiovisual stream output fromthe local content source, modify that audiovisual stream in accordancewith the methods described herein, in the '182 patent, and/or in the'279 application, and provide the (perhaps modified) audiovisual streamas input to the display device. It should be noted, however, that, insome cases, the functionality of a local content source can beincorporated within an ICD, a video calling device, or a PDD, and/or thefunctionality of an ICD, a video calling device, or a PDD can beincorporated within a local content source; further, it should beappreciated that an ICD, a video calling device, or a PDD (which mightor might not include local content source functionality) can be disposedinline with one or more other local content sources or one or more othervideo calling devices/PDDs. Hence, for example, an ICD, a video callingdevice, or a PDD with some local content source functionality (such as avideo game console) might be disposed inline between one or more otherlocal content sources or one or more other ICDs/video callingdevices/PDDs (such as a cable STB, satellite STB, IPTV STB, and/or astreaming media player) and a display device.

In an aspect of some embodiments, the system can include a softwareclient that can be installed on a computing device (e.g., a laptopcomputer, wireless phone, tablet computer, etc.) that has a built-incamera and/or has a camera attached (e.g., a USB webcam). This clientcan act as an interface to allow remote control of the built-in and/orattached camera on the computing device. In some embodiments, thecomputing device might have a built-in microphone(s) and/or has amicrophone(s) attached (e.g., a table-top microphone, a wall-mountedmicrophone, and/or a microphone removably mountable on a television, onthe ICD, on the video calling device, on the PDD, and/or on some othersuitable user device, or the like). The software client canalternatively and/or additionally act as an interface to allow remotecontrol of the built-in and/or attached microphone on the computingdevice. In some cases, the camera and/or microphone can be automaticallyor autonomously controlled to obtain optimal video and/or audio input.Remote control of the video calling device and/or PDD is described indetail in the '263 application (already incorporated herein), and may besimilarly applicable to remote control of the ICD.

The system 100 can further include a control server 110, which can haveany suitable hardware configuration, and an example of one suchconfiguration is described below in relation to FIG. 7. In one aspect,the control server 110 is a computer that is capable of receiving userinput via a user interface 120 and/or performing operations forutilizing the ICD(s) 105, the video calling device(s) 105, and/or thePDD(s) 105 to perform one or more of receiving (and relaying) mediacontent (either directly from media content server 150 or database 155via network 115 or network 145, indirectly via a local content source(e.g., an STB or the like), directly from cloud storage system 130,and/or the like), monitoring the media content presented to the user(s),monitoring the user(s), sending the monitored data to the control server110, determining (with the control server 110 and/or with one or more ofthe user devices 105) whether at least one portion of the media contentshould be filtered, filtering (with the control server 110 and/or withone or more of the user devices 105) the at least one portion of themedia content based on such determination, and/or the like.

In some cases, the control server 110 might handle all of the processesfor identifying and authenticating users and for providing access to theuser(s)'s profiles, content, information, recommendations,advertisements, preferences (including, without limitation, preferencesfor types of content to filter, preferences for how to filter content,and other user preferences, etc.), as well as handling the processesinvolved with determining whether at least one portion of media contentshould be filtered or filtering the at least one portion of the mediacontent based on such determination. Alternatively, or additionally, theprocesses involved with determining whether at least one portion ofmedia content should be filtered or filtering the at least one portionof the media content based on such determination might be handled by aseparate server computer (denoted Content Filtering Server 135 in FIG.1), which might store determined, generated, and/or collectedinformation in database 140. In other instances, control server 110 andcontent filtering server 135 might split the processing tasks in anysuitable manner, as appropriate. In some cases, content filtering server135 might also generate filtered content (for replacing potentiallyoffensive or objectionable content), and such generated filtered contentmay be stored in database 140.

Merely by way of example, in some embodiments, the control server 110can detect user presence, identify/authenticate users, and/or enable theuser to remotely access the user's master account, user preferences,media content, recommendations of media content, advertisements,preferences for advertisements, preferences for what type of content tofilter or censor, preferences for how to filter or censor content,preferences for filtering content for particular members of the user'sfamily, and/or the like. In other cases, the control server 110 canreceive and/or store user input and/or user preferences that can specifywhether and how presence information should be used, whether and how theuser's ICD(s), video calling device(s), and/or PDD(s) may be used in adistributed infrastructure, whether and how the user's content andprofiles should be handled under certain situations, and/or the like.

For example, preferences might specify which account information,content, profile information, personal communications (e.g., videomail,voicemail, e-mail, etc.), media content, media content recommendations,determined advertisements, preferences for advertisements, preferencesfor what type of content to filter or censor, preferences for how tofilter or censor content, preferences for filtering content forparticular members of the user's family, and/or the like should bedelivered to a user when present at a device not owned by the user,whether presence information should be collected for that user at all(and/or where such information should be collected); for example, a usermight specify that his presence should only be monitored in selectedlocations or from selected devices, and the control server 110 mightremove that user's profile from the search universe when provided withpresence information from a device not at the selected location or froma device other than one of the selected devices. More generally, theuser preference can include any types of parameters related tocollecting presence information, using presence information, handlingmedia content recommendations, handling advertisements, servingcontent/information (including, without limitation, user accountinformation, user content, user profile information, user's personalcommunications (e.g., videomail, videomail, voicemail, e-mail, etc.),media content, advertisements, and/or the), and/or content filtering andcontent filtering options. These preferences might be stored in a userprofile at the control server 110, which might also include otheruser-specific information, such as the user's normal location(s),identifying information (such as MAC address, etc.) of other userdevices owned by or associated with the user, lists of or links tocontent owned by the user, lists of or links to media contentrecommendations, lists of or links to preferences for handling mediacontent recommendations, lists of or links to advertisements, lists orlinks to products or services associated with advertisements, lists ofor links to preferences for handling advertisements, lists of or linksto preferences for types of content to filter, lists of or links topreferences for how to filter certain types of content, lists of orlinks to preferences for filtering content for child users in the user'sfamily (which might include how filtering of content for child usersshould be handled as the child users grow older, etc.), and/or the like.

In some embodiments, user preferences might specify how the user wouldlike his or her user devices to participate (or not) in a distributedinfrastructure arrangement. For instance, the user preferences mightinclude, without limitation, preferences indicating whether or not toallow a user device owned by the user to be used for distributedinfrastructure; preferences indicating what type of softwareapplications, customer data, media content (of other user device usersand/or subscribers of a cloud service), and/or advertisements arepermitted to be hosted on a user device owned by the user; and/orpreferences indicating amount of resources of a user device to dedicateto the distributed infrastructure; etc. In some embodiments, in additionto indicating how a user's user device may be used in distributedinfrastructure implementation, user preferences might allow a user toindicate how the user's own applications, data, and/or media content maybe hosted on other users' user devices. For example, the user might begiven the option to encrypt any and/or all personal data, any and/or allpersonal applications, any and/or all files or lists indicating whichmedia content are associated with the user, any and/or all files orlists pertaining to media content recommendations and/or preferencesthereof, and/or any and/or all files or lists pertaining toadvertisements and/or preferences thereof. Common media content (whichmight include popular media content, or any other media content) mayremain unencrypted for common usage by any number of users on any numberof user devices, subject only to any subscription, rental, or purchaserestrictions on the particular media content as associated with any userand/or any user device. On the other hand, the user's personalcommunications (including, e.g., videomail messages and/or the like),preferences for media content recommendations, pastdecisions/patterns/history with regard to media content viewed/listenedto/played by the user, preferences for advertisements, preferences forwhat type of content to filter or censor, preferences for how to filteror censor content, preferences for filtering content for particularmembers (e.g., children, spouse, parents, etc.) of the user's family,and/or the like may be encrypted.

The control server 110 can provide a user interface (which can be usedby users of the ICDs 105, the video calling devices 105, and/or the PDDs105, and/or the like). The control server 110 might also providemachine-to-machine interfaces, such as application programminginterfaces (“APIs”), data exchange protocols, and the like, which canallow for automated communications with the video calling devices 105and/or the PDDs 105, etc. In one aspect, the control server 110 might bein communication with a web server 125 and/or might incorporate the webserver 125, which can provide the user interface, e.g., over the networkto a user computer (not shown in FIG. 1) and/or a machine-to-machineinterface. In another aspect, the control server 110 might provide suchinterfaces directly without need for a web server 125. Under eitherconfiguration, the control server 110 provides the user interface 120,as that phrase is used in this document. In some cases, some or all ofthe functionality of the control server 110 might be implemented by theICD 105, the video calling device 105, and/or the PDD 105 itself.

In an aspect, the user interface 120 allows users to interact with thecontrol server 110, and by extension, the ICDs, the video callingdevices 105, and/or the PDDs 105. A variety of user interfaces may beprovided in accordance with various embodiments, including, withoutlimitation, graphical user interfaces that display, for a user, displayfields on display screens for providing information to the user and/orreceiving user input from a user.

Merely by way of example, in some embodiments, the control server 110may be configured to communicate with a user computer (not shown inFIG. 1) via a dedicated application running on the user computer; inthis situation, the user interface 120 might be displayed by the usercomputer based on data and/or instructions provided by the controlserver 110. In this situation, providing the user interface mightcomprise providing instructions and/or data to cause the user computerto display the user interface. In other embodiments, the user interfacemay be provided from a web site, e.g., by providing a set of one or moreweb pages, which might be displayed in a web browser running on the usercomputer/device and/or might be served by the web server 125. As notedabove, in various embodiments, the control system 110 might comprise theweb server and/or be in communication with the web server 125, such thatthe control server 110 provides data to the web server 125 to beincorporated in web pages served by the web server 125 for receptionand/or display by a browser at the user computer/device.

The network 115, specific examples of which are described below withregard to FIG. 7, can be any network, wired or wireless, that is capableof providing communication between the control server 110 and the ICDs105, the video calling devices 105, and/or the PDDs 105, and/or ofproviding communication between the control server 110 (and/or the webserver 125) and a user computer. In a specific embodiment, the network115 can comprise the Internet, and/or any Internet service provider(“ISP”) access networks that provide Internet access to the controlserver 110, the user computer, and/or the ICDs 105, the video callingdevices 105, and/or the PDDs 105.

In some embodiments, the system 100 can include a cloud storage system130, which can be used, as described in further detail below, to storeadvertisements, presence information, images, video, videomail messages,media content, media content recommendations, determined advertisements,preferences for advertisements, preference information of users, pastviewing/listening/playing patterns or decisions of users, preferencesfor what type of content to filter or censor, preferences for how tofilter or censor content, preferences for filtering content forparticular members (e.g., children, spouse, parents, etc.) of the user'sfamily, and/or the like that are monitored/captured, downloaded,streamed, and/or uploaded by the ICDs 105, the video calling devices 105and/or the PDDs 105, and/or the like. In some cases, the cloud storagesystem 130 might be a proprietary system operated by an operator of thecontrol server 110. In other cases, the cloud storage system 130 mightbe operated by a third party provider, such as one of the many providersof commercially available cloud services. In yet a further embodiment,the cloud storage system 130 might be implemented by using resources(e.g., compute, memory, storage network, etc.) shared by a plurality ofvideo calling devices, and/or by a plurality of PDDs, that aredistributed among various users of the system. Merely by way of example,as described in further detail below and in the '360 application(already incorporated by reference herein), a plurality of user videocalling devices and/or PDDs might each have some dedicated resources(such as a storage partition), which are dedicated for use by thesystem, and/or some ad hoc resources (such as network bandwidth, memory,compute resources, etc.) that are available to the system when not inuse by a user. Such resources can be used as cloud storage and/or can beused to provide a distributed, cloud-like platform on which a controlserver can run as a virtual machine, cloud container, and/or the like.

According to some embodiments, ICD 105, video calling device 105, and/orPDD 105 might comprise a first video input interface to receive firstvideo input from a first local content source (which in some embodimentscan include a STB and/or the like) and a first audio input interface toreceive first audio input from the first local content source. Videocalling device 105 might further comprise a first video output interfaceto provide first video output to a first video display device and afirst audio output interface to provide first audio output to a firstaudio receiver (and/or to a speaker system). In some cases, the firstvideo display device and the first audio receiver might be embodied inthe same device (e.g., a TV with built-in speaker system, or the like).With the input and output interfaces, video calling device 105 mightprovide pass-through capability for video and/or audio between the firstlocal content source and the first display device. In some instances,high-definition multimedia interface (“HDMI”) cables or other suitableHD signal cables may be used to provide the interconnections for thepass-through. Video calling device 105 may, in some cases, comprise afirst image capture device to capture at least one of first image dataor first video data and a first audio capture device to capture firstaudio data. Video calling device 105 may also comprise a first networkinterface, at least one first processor, and a first storage medium incommunication with the at least one first processor.

In some aspects, a plurality of ICDs, PDDs, or video calling devices 105might be communicatively coupled together in a network (e.g., network115), each ICD, PDD, or video calling device being located in one of aplurality of customer premises. For implementing distributedinfrastructure for cloud computing, cloud-based application hosting,and/or cloud-based data storage, a computer might establish one or moreICDs, PDDs, or video calling devices 105 of the plurality of ICDs, PDDs,or video calling devices 105 as distributed infrastructure elements andmight provide at least one of one or more software applications,customer data, and/or media content to the one or more video callingdevices 105 for hosting on the one or more video calling devices 105.These and other functionalities of the video calling devices related todistributed infrastructure are described in greater detail in the '360application (already incorporated by reference herein).

Merely by way of example, in some aspects, a user can remotely accessone or more ICDs, PDDs, or video calling devices 105 and/or remotelyaccess at least one of the user's master account, the user's userpreference, the user's profiles, any videomail messages addressed to theuser, the user's media content, media content recommendations for theuser, determined advertisements, preferences for advertisements,preferences for types of content to filter, preferences for contentfiltering options, preferences for filtering content for particularfamily members or friends, and/or the like over a network. For example,in a web-based implementation, a user could log into the user's masteraccount by accessing a website hosted on a web server (e.g., web server125, which might be hosted on a cloud server, hosted on distributedPDDs, hosted on distributed video calling devices, and/or the like) andentering commands into a user interface (e.g., user interface 120)associated with remotely accessing the user's video calling device(s)105 and/or associated with remotely accessing at least one of the user'smaster account, the user's user preference, the user's profiles, anyvideomail messages addressed to the user, the user's media content,media content recommendations for the user, determined advertisements ofthe user, the user's preferences for advertisements, the user'spreferences for types of content to filter, the user's preferences forcontent filtering options, the user's preferences for filtering contentfor particular family members or friends, and/or the like. In someinstances, the user might access and interact with the user interfaceover the network (e.g., network 115) by using a user computer selectedfrom a group consisting of a laptop computer, a desktop computer, atablet computer, a smart phone, a mobile phone, a portable computingdevice, and/or the like. In an application-based (or “app-based”)implementation, the user might interact with a software application (or“app”) running on the user's user device, which might include, withoutlimitation, a laptop computer, a desktop computer, a tablet computer, asmart phone, a mobile phone, a portable computing device, and/or thelike. The app might include another user interface (similar to theweb-based user interface) that might allow for access of the user'svideo calling device(s) (or any paired video calling device(s)) over thenetwork (e.g., network 115) and/or that might allow for access to atleast one of the user's master account, the user's user preferences, theuser's profiles, any videomail messages addressed to the user, theuser's media content, media content recommendations for the user,determined advertisements for the user, the user's preferences foradvertisements, the user's preferences for content filtering options(e.g., type of content to filter, how to filter certain types ofcontent, how to filter for particular users associated with the user'saccount, etc.), and/or the like.

According to some embodiments, control server 110, which can have anysuitable hardware configuration (an example of which is described belowwith respect to FIG. 6), might be a computer that is capable ofreceiving user input via a user interface 120 and/or performingoperations for controlling the user device(s) 105 (which in some casesmight comprise inline camera(s), which in turn might comprise cameras orother sensors, and the like). Merely by way of example, however, thecontrol server 110 can determine presence and/or identity of theuser(s), determine whether at least one portion of media content shouldbe filtered based on detected presence (or identification) of theuser(s), obtain or generate replacement content or otherwise filter theat least one portion of the media content based on a determination thatat least one portion of the media content should be filtered, and/or thelike. In other cases, the control server 110 can receive and/or storeuser input and/or user preferences that can specify whether and howpresence information should be used. For example, preferences mightspecify that presence information for identified adults and children canbe used for filtering content in media content being presented, thatpresence information for identified adults can be used for advertisingpurposes, but that presence information about children should not beprovided to advertisers. Alternatively and/or additionally, thepreferences might specify which types of third parties (e.g.,advertisers, content providers, etc.) can receive presence information,which types of content should be filtered based on presence information,how content should be filtered (e.g., replaced with what types ofreplacement content, paused, censored, blocked, skipped, removed, etc.),and/or any other type of parameter related to collecting presenceinformation, using presence information, and/or the like.

In an aspect of some embodiments, the user might log onto his or hermaster account at the control server in order to access and/or controlinline cameras assigned to that account. The user device 105 and/or thecontrol server 110 might authenticate the user with a set of credentialsassociated with the master account (e.g., with any of several knownauthentication schemes, such as a userid/password challenge, acertificate exchange process, and/or the like). Once the user has beenauthenticated, the user interface can present the user with a variety ofdifferent information, including without limitation information aboutstatus of inline cameras (or user devices 105 comprising the inlinecameras) assigned to the master account to which the user has logged on,options for controlling such inline cameras, and or the like.

Thus, in some aspects, the user device 105 and/or the control server 110might receive user preferences (e.g., via a network, such as theInternet, to name one example), and in particular user preferencesrelating to the collection and/or use of presence information, includingwithout limitation preferences such as those described above. The userdevice 105 and/or the control server 110 can further control and/orconfigure the inline camera, based at least in part on the userpreferences. Merely by way of example, the user might have specifiedthat the inline camera (of the user device 105) should not be used tocollect presence information at all, in which case that feature might beturned off at the inline camera. Alternatively and/or additionally, theuser might have specified some limitations on the collection of presenceinformation (such as about whom such information may be collected, timesat which information can be collected, and/or purposes for whichinformation may be collected, to name a few examples). Of course, insome embodiments, these preferences can be set directly at the inlinecamera, e.g., through a menu system displayed on a video device. Itshould also be recognized that some preferences (such as with whompresence information can be shared) might not affect the inline cameraand might be saved and/or operated on at the control server instead.

The amount of control imposed by the control server 110 can varyaccording to embodiment and implementation. Merely by way of example, asnoted above, in some embodiments, there might be no control server, andthe inline camera (of the user device 105) might incorporate all thefunctionalities described herein with regard to the control server 110.In other embodiments, the control server 110 might provide fairlyfine-grained control over the inline camera (of the user device 105),such as instructing the camera to capture images for purposes ofdetermining presence, and/or the control server 110 may receive theimages directly and perform the present determination procedures at thecontrols server. The division of responsibility between the controlserver 110 and the inline camera or user device 105 can fall anywherealong this spectrum. In some cases, for instance, the control server 110might provide the user preferences to the inline camera or the userdevice 105, which then is responsible for collecting presenceinformation in accordance with those preferences and transmitting thepresence information to the control server 110, which takes theappropriate action in response to the presence information, such as,determining whether at least a portion of media content should befiltered and, based on such determination, filtering the at least oneportion of media content, and/or the like. Alternatively and/oradditionally, the inline camera (or user device) itself might beresponsible for taking such actions.

In some cases, the user device or inline camera might collect presenceinformation. A variety of operations might be involved in the collectionof presence information. For example, in some cases, the inline cameracaptures one or more images of at least a portion of a room where it islocated. Such images can be digital still images, a digital videostream, and/or the like. Collecting presence information can furthercomprise analyzing one or more of the images. Merely by way of example,the images might be analyzed with facial recognition software, which canbe used to determine the number of people in the room with the inlinecamera and/or to identify any of such people (e.g., by determining aname, an age range, a gender, and/or or other identifying or demographicinformation about a user, based on the output of the facial recognitionsoftware). Alternatively and/or additionally, analyzing the images cancomprise determining that a person is watching a display device, forexample using eye-tracking software to identify a focus area of theperson's eyes and correlating that focus area with the location of atelevision. In some cases, if the number of people and the identities(or at least demographic characteristics) of each of the people in theroom can be determined, analyzing the images can further includedetermining a collective demographic of the people in the room (based,for example on the demographic characteristics of a majority of peoplein the room).

In some embodiments, the user device (or inline camera) 105 and/or thecontrol server 110 can determine, for particular user(s), whether atleast one portion of media content (being presented or to be presented)should be filtered or censored, and (based on a determination that atleast one portion of the media content should be filtered) filtering theat least one portion of the media content. In some cases, this willcomprise inserting replacement content (which might be transmitted fromthe control server to the inline camera/user device 105, or from contentfiltering server 135 to the inline camera/user device 105) into a videostream received by the inline camera from a STB (or game console, etc.)and output to a television screen, or simply replacing determinedportions of the media content with the replacement content prior topresentation of the (portions of the) media content.

Other techniques can be used to filter media content, however. Forexample, filtering media content, other than replacing at least portionsof media content, can further include, without limitation, blocking,pausing, hiding, skipping, removing, and/or the like, at least portionsof the media content. Here, “blocking” at least portions of the mediacontent might include preventing the at least portions of the mediacontent from being presented to the user. “Pausing” at least portions ofthe media content can be implemented in one of multiple ways, including,without limitation, buffering in the user device (or inline camera) 105and/or the control server 110, sending instructions to a set-top-box(“STB”) or the like to pause presentation of the at least portions ofthe media content (e.g., using digital video recorder (“DVR”)functionality or the like), and/or similar functionality. “Hiding” atleast portions of the media content might include, without limitation,covering or censoring at least portions of the media content; in somecases, covering or censoring might include replacing the at leastportions of media content with, or overlaying the at least portions ofmedia content with, at least one of one or more colored polygons, one ormore pixelated images, one or more blurred images, one or more smileyfaces, one or more predetermined images, one or more random images, oneor more audio tones, one or more audio blanks (i.e., no sound portionsor soundless or quiet clips), one or more replacement words, and/or thelike, each of which might be retrieved from local storage and/or fromcloud storage or the like. “Skipping” at least portions of media contentmight include, but is not limited to, jumping past particular scenes ina video content or game content (i.e., not presenting such particularscenes, but instead presenting the next scene in the media content),skipping over particular words in video, game, and/or audio content,skipping over particular images in image, video, or game content (i.e.,not presenting particular images in image, video, or game content),and/or the like. In some cases, “skipping” at least portions of mediacontent might include fast-forwarding through the at least portions ofthe media content (i.e., fast-forwarding through particular scenes in avideo content or game content, through particular words in video, game,and/or audio content, through particular images in image, video, or gamecontent, and/or the like. In some cases, “filtering” at least portionsof media content might generally refer to removing the at least portionsof the media content, which might, in some cases, have the same effect(if not necessarily the same implementation) as one or a combination of“blocking,” “hiding,” and/or “skipping” at least portions of the mediacontent, as described above.

In some embodiments, the content provider might have produced variousversions of the media content (which are sensitive to different groupshaving different levels of tolerance to potentially offensive orobjectionable content; e.g., people who are averse to particular typesof violent content, people who are averse to particular types of nude orsexual content, people who are averse to particular offensive language,people who would like to shield their children from certain types ofcontent (e.g., nude content, violent content, sexual content, offensivelanguage, and/or the like), child users, themselves, who should beprotected from such content, etc.), and the user device (or inlinecamera) 105 and/or the control server 110 can determine, for particularuser(s), which portions of one of the media content (if not the entireone of the media content) should be replaced with which other version ofthe media content during presentation of the media content, based onpresence information collected by the inline device or user device. Theother version might be retrieved from local storage or from cloudstorage, or the like.

In some embodiments, the user device (or inline camera) 105 can collectand/or provide feedback to the content providers (or another thirdparty) and/or to the service provider offering such content filteringfunctionalities. Merely by way of example, the inline camera or userdevice might capture audio and/or video while the media content is beingpresented, which can indicate user reaction to the media content. Thisaudio/video can be used to infer user acceptance (or rejection) of thetypes of content in the media content, and these inferences (and/or theraw audio/video itself) can be provided to the content providers (or athird party) and/or to the service provider offering such contentfiltering functionalities to improve the effectiveness of future contentfiltering.

In some aspects, server 110 might perform the methods described indetail with respect to FIGS. 2-5 below, while data associated with useraccount(s) or preferences, data associated with monitored user(s),and/or data associated with monitored media content might be collectedby the one or more user devices 105, by server 110, by server 135, or byany combination of these computing devices. The database 130 (and/ordatabase 140) might store some or all of these collected data.

Aside from the presence detection, content filtering determination,and/or content filtering implementation functionalities described above,the user devices 105, control server 110, and other components of system100 may possess other functionalities and operations, which aredescribed in greater detail in the Related Applications, and brieflymentioned below.

In some embodiments, the control server 110 can detect user presence,identify/authenticate users, and/or enable the user to remotely accessthe user's master account, user preferences, videomail messages, mediacontent, media content recommendations, advertisements, preferences foradvertisements, and/or the like. In other cases, the control server 110can receive and/or store user input and/or user preferences that canspecify whether and how presence information should be used, whether andhow the user's ICD(s), video calling device(s), PDD(s), and/or userdevice(s) may be used in the distributed infrastructure, whether and howthe user's content and profiles should be handled under certainsituations, how to handle media content recommendations, how todetermine advertisements relevant to particular users, and/or the like.

For example, preferences might specify which account information,content, profile information, personal communications (e.g., videomail,voicemail, e-mail, etc.), media content, media content recommendations,determined advertisements, preferences for advertisements, and/or thelike should be delivered to a user when present at a device not owned bythe user, whether presence information should be collected for that userat all (and/or where such information should be collected); for example,a user might specify that his presence should only be monitored inselected locations or from selected devices, and the control server 110might remove that user's profile from the search universe when providedwith presence information from a device not at the selected location orfrom a device other than one of the selected devices. More generally,the user preference can include any types of parameters related tocollecting presence information, using presence information, handlingmedia content recommendations, handling advertisements, and/or servingcontent/information (including, without limitation, user accountinformation, user content, user profile information, user's personalcommunications (e.g., videomail, videomail, voicemail, e-mail, etc.),media content, media content recommendations, advertisements, and/or thelike). These preferences might be stored in a user profile at thecontrol server 110, which might also include other user-specificinformation, such as the user's normal location(s), identifyinginformation (such as MAC address, etc.) of other user devices owned byor associated with the user, lists of or links to content owned by theuser, lists of or links to videomail messages addressed to the user,lists of or links to recommended media content, lists of or links todetermined advertisements, lists of or links to preferences for mediacontent recommendations and/or for advertisements, and/or the like.Videomail capture, processing, and distribution is described in greaterdetail in the '499 and '621 applications (already incorporated herein).Media content delivery and media content recommendation generation aredescribed in detail in the '435 application (also already incorporatedherein). Physical presence and advertising based on detected presenceare described in detail in the '133 and '603 applications (which arealso already incorporated herein).

In some aspects, a plurality of video calling devices 105 might becommunicatively coupled together in a network (e.g., network 115), eachvideo calling device being located in one of a plurality of customerpremises. For implementing distributed infrastructure for cloudcomputing, cloud-based application hosting, and/or cloud-based datastorage, a computer might establish one or more video calling devices105 of the plurality of video calling devices 105 as distributedinfrastructure elements and might provide at least one of one or moresoftware applications, customer data, and/or media content to the one ormore video calling devices 105 for hosting on the one or more videocalling devices 105. These and other functionalities of the videocalling devices related to distributed infrastructure are described ingreater detail in the '360 application (already incorporated byreference herein).

In some embodiments, user preferences might specify how the user wouldlike his or her user devices to participate (or not) in a distributedinfrastructure arrangement. For instance, the user preferences mightinclude, without limitation, preferences indicating whether or not toallow a user device owned by the user to be used for distributedinfrastructure; preferences indicating what type of softwareapplications, customer data, and/or media content (of other user deviceusers and/or subscribers of a cloud service) are permitted to be hostedon a user device owned by the user; and/or preferences indicating amountof resources of a user device to dedicate to the distributedinfrastructure; etc. In some embodiments, in addition to indicating howa user's user device may be used in distributed infrastructureimplementation, user preferences might allow a user to indicate how theuser's own applications, data, and/or media content may be hosted onother users' user devices. For example, the user might be given theoption to encrypt any and/or all personal data, any and/or all personalapplications, any and/or all files or lists indicating which mediacontent are associated with the user, and/or any and/or all files orlists pertaining to videomail messages that are addressed to the user(including the videomail messages themselves). Common media content(which might include popular media content, or any other media content)may remain unencrypted for common usage by any number of users on anynumber of user devices, subject only to any subscription, rental, orpurchase restrictions on the particular media content as associated withany user and/or any user device. On the other hand, the user's personalcommunications (including, e.g., videomail messages and/or the like) maybe encrypted.

In some examples, the user might indicate that her user device may beused for distributed processing, but not distributed cloud-based datastorage, or vice versa. Alternatively, the user might indicate that heruser device may be used for both distributed processing and distributedcloud-based data storage. In some embodiments, the user might allow thehosting, on his or her user device, of at least portions of softwareapplications that are published by known and reputable softwarecompanies or published by companies on behalf of governmental agencies,or the like, while blocking hosting of software applications associatedwith marketing, spam, data mining, and/or potential copyrightviolations, etc. These and other preferences related to distributedinfrastructure functionality, as well as distributed infrastructureimplementation of user devices, are described in greater detail in the'360 application (which is already incorporated herein by reference).

In some embodiments, the system 100 can include a cloud storage system130, which can be used, as described in further detail below, to storeuser addresses in at least one protocol (e.g. HTTP, SIP, XMPP, PSTNprotocol, etc.); user preferences regarding call conferencing,conference addressing, etc.; and/or the like. In some instances, thecloud storage system 130 might further store media content,advertisements, presence information, images, video, and/or videomailmessages that are captured and uploaded by the video calling devices 105and/or the user devices 105, and/or the like.

In some embodiments, access of one or more video calling device(s)and/or access to at least one of the user's master account, the user'suser preference, the user's profiles, any videomail messages addressedto the user, and/or the like may be permitted in response toidentification and/or authentication of the user by a presence detectiondevice (“PDD”), as described in detail herein and in the '279application. In some embodiments, a user device 105 might comprise asecond video input interface to receive second video input from a secondlocal content source (which, in some embodiments, might include a STBand/or the like) and a second audio input interface to receive secondaudio input from the second local content source. User device 105 mightfurther comprise a second video output interface to provide second videooutput to a second video display device and a second audio outputinterface to provide second audio output to a second audio receiver. Insome cases (as with video calling device 105 or user device 105 above),the second video display device and the second audio receiver might beembodied in the same device (e.g., a TV with built-in speaker system, orthe like). With the input and output interfaces, user device 105 mightprovide pass-through capability for video and/or audio between thesecond local content source and the second display device. In someinstances, high-definition multimedia interface (“HDMI”) cables or othersuitable HD signal cables may be used to provide the interconnectionsfor the pass-through. User device 105 may, in some cases, comprise asecond image capture device to capture at least one of second image dataor second video data, and a second audio capture device to capturesecond audio data. User device 105 might also comprise a second networkinterface, at least one second processor, and a second storage medium incommunication with the at least one second processor. Similar to thevideo calling devices 105, a plurality of user devices 105 may becommunicatively coupled together in a network (e.g., network 115), asdistributed infrastructure elements for implementing distributedinfrastructure for cloud computing, cloud-based application hosting,and/or cloud-based data storage.

Once a user has been automatically identified and/or authenticated by auser device having identification and/or authentication functionality(e.g., by a PDD as described herein or as described in the '279application), regardless of whether or not the user is associated with(or owns) such user device, the user may be provided with access to thevideo calling device(s) over the network and/or remote access to atleast one of the user's master account, the user's user preference, theuser's profiles, any videomail messages addressed to the user, theuser's media content, media content recommended for the user,advertisements determined to be relevant to the user, and/or the like.Such access (as discussed above) may be in the form of web-based userinterfaces, app-based user interfaces, or other suitable userinterfaces. Such user interfaces might be customized automatically basedon the user preferences (i.e., based on the video mail capture,processing, and distribution user preferences discussed above). In someinstances, the user interfaces might be configured to allow addition,modification, and/or deletion of such user preferences. According tosome embodiments, the user interfaces might provide the user withoptions for uploading, locally storing, cloud storing,distributing/sharing, processing, and/or otherwise handling recordedvideomail messages from the video calling device(s). Some of theseoptions may be preselected (or established as default settings) in theuser preferences. In some cases, processing of videomail messages fromthe video calling device(s) might include, without limitation,formatting, sharpening, and/or otherwise manipulating the videomailmessages.

In some cases, the user device (e.g., PDD) might be configured todetermine whether the user is no longer present. Based on such adetermination, access to the video calling device(s) over the network,as well as access to at least one (if not all) of the user's masteraccount, the user's user preference, the user's profiles, any videomailmessages addressed to the user (whether in the raw or processed state),media content, media content recommendations, advertisements determinedto be relevant to the user, and/or the like, may be blocked. Blockingsuch access may include automatically logging out of the web-based orapp-based user interface, or the like.

These and other functionalities are described in detail in the RelatedApplications.

FIGS. 2A and 2B (collectively, “FIG. 2) illustrate various methods 200of enabling or implementing presence detection and/or automatic contentfiltering of media content based on detected presence of users, inaccordance with one set of embodiments. FIG. 2A illustrates an examplemethod in which the PDD or ICD itself determines and providesadvertisement based on a number of factors, while FIG. 2B illustrates analternative method in which the PDD or ICD sends monitored informationassociated with a first media content to a server computer (e.g., servercomputer 135 in FIG. 1) and the server computer determines and providesadvertisement based on a number of factors. While the techniques andprocedures are depicted and/or described in a certain order for purposesof illustration, it should be appreciated that certain procedures may bereordered and/or omitted within the scope of various embodiments.Moreover, while the method illustrated by FIG. 2 can be implemented by(and, in some cases, are described below with respect to) the systems100, 600, and/or 700 of FIGS. 1, 6, and/or 7, respectively (orcomponents thereof), such methods may also be implemented using anysuitable hardware implementation. Similarly, while each of the system100 (and/or components thereof) of FIG. 1, the system 600 (and/orcomponents thereof) of FIG. 6, and/or the system 700 (and/or componentsthereof) of FIG. 7 can operate according to the method illustrated byFIG. 2 (e.g., by executing instructions embodied on a computer readablemedium), the system 100 can also operate according to other modes ofoperation and/or perform other suitable procedures.

At block 205, method 200 might comprise receiving, with a presencedetection device (e.g., a PDD or ICD 105 as shown in FIG. 1, or thelike), first media content. In some cases, the presence detection devicemight receive the first media content from a local content source (e.g.,local content source 535 as shown in FIG. 5 or the like) or from aremote content source (e.g., media content server 150 via network 115and/or 145, and perhaps also via control server 110, as shown in FIG.1). In some cases, the presence detection device might comprise a videoinput interface to receive video input from the local content source, anaudio input interface to receive audio input from the local contentsource, a video output interface to provide video output to a videodisplay device, an audio output interface to provide audio output to anaudio receiver, an image capture device to capture at least one of imagedata or video data, an audio capture device to capture audio data, anetwork interface, at least one processor, and a storage medium incommunication with the at least one processor. Method 200 might furthercomprise presenting, with the presence detection device, the receivedfirst media content (block 210). In some embodiments, presenting thereceived first media content might include, without limitation,displaying video, image, or game content, presenting audio content,and/or the like.

The method 200, at block 215, might comprise monitoring, with thepresence detection device, information associated with the first mediacontent. In some embodiments, the information associated with the firstmedia content might include at least one of media content-basedinformation and/or audience-based information. In some cases, monitoringmedia content-based information might comprise analyzing the mediacontent as it is passed through the presence detection device, todetermine the media content-based information. Additionally, oralternatively, monitoring media content-based information might compriseanalyzing identification information that is sent together with themedia content, the identification information including generalinformation, bibliographical information, or other information regardingthe media content. In other cases, monitoring media content-basedinformation might comprise querying the source of the media content formedia content-based information. According to some embodiments,monitoring audience-based information might include monitoring personsin the same room as the presence detection device using at least one ofthe image capture device, the audio capture device, another sensor(e.g., infrared sensor, other heat sensor, motion sensor, electronicdevice communications link (e.g., Bluetooth communications device, Wi-Ficommunications device, near-field communications device, and/or thelike)), and/or the like. In some cases, monitoring audience-basedinformation might include querying one or more databases, which mightcollect information about the persons monitored by the presencedetection device, or persons associated therewith.

Media content-based information might comprise at least one of type ofmedia content of the first media content, genre of media content of thefirst media content, duration of media content of the first mediacontent, time of day that the first media content is received and/orpresented, performers associated with the first media content, producersassociated with the first media content, year of release of the firstmedia content, reviews of the first media content, and/or other mediacontent related to the first media content. The type of media contentmight include, without limitation, television program content, moviecontent, music content, gaming content, news-related content,sports-related content, video clip content, advertisement content, andInternet-based media content.

The genre of the media content might be classified in terms of movie/TVgenres, music genres, video game genres, and so on. For example movie/TVgenres might include, but is not limited to, dramas, comedies, thriller,suspense, science fiction, fantasy, honor, action, adventure, animated,children's shows, or the like, or any combination of these genres. Musicgenres might include, without limitation, pop, rock, rap, R&B, punk,jazz, alternative, electronic, folk, hip hop, ska, country, classical,instrumental, and so on, or any combination of these genres. Video gamegenres might include, but are not limited to, first-person perspectivegames (e.g., first-person shooter games, first-person slasher games,first-person fighting games, first-person adventurer games, and/or thelike), third-person perspective games (e.g., third-person shooter games,third-person slasher games, third-person fighting games, third-personadventurer games, and/or the like), fighting games (e.g., one-on-onecombat games, arena combat games, mascot fighting games, multiplayeronline batter arena games, and/or the like), action-adventure games,puzzle games, role-playing games (e.g., fantasy role-playing games,tactical role-playing games, action role-playing games, open world orsandbox role-playing games, massively multiplayer online role-playinggames (“MMORPGs”), and/or the like), simulation games (e.g.,construction and management simulation games, life simulation games,vehicle simulation games, etc.), strategy games (e.g., real-timestrategy games, real-time tactics games, tower defense games, massivelymultiplayer online real-time strategy games, turn-based strategy games,turn-based tactics games, wargames, and/or the like), sports games(e.g., racing games, single-player sports games, team-based sportsgames, etc.), and/or the like.

The performers associated with the first media content might include,without limitation, actors, actresses, singers or vocalists, bandmembers, musicians, orchestras, voice artists, etc. The producersassociated with the first media content might include, but are notlimited to, directors, film/video/music/game producers, game developers,artists, etc. The reviews of the first media content can include,without limitation, reviews given by industry-based critics or byaverage viewers/listeners/gamers/etc.

In some embodiments, media content-based information might furthercomprise at least one of information pertaining to one or more portionsof the first media content containing one or more of video scenes ofnudity and/or images of nudity; information pertaining to one or moreportions of the first media content containing one or more of videoscenes of suggestive sexual content and/or images of suggestive sexualcontent; information pertaining to one or more portions of the firstmedia content containing one or more of video scenes of explicit sexualcontent and/or images of explicit sexual content; information pertainingto one or more portions of the first media content containing one ormore of video scenes of violence and/or images of violence; and/orinformation pertaining to one or more portions of the first mediacontent containing one or more of audio of violence, audio of sexualcontent, and/or audio of coarse or offensive language; or the like.

Audience-based information might comprise at least one of number ofaudience members present during presentation of particular portions ofthe first media content (or portions of the advertisement), identity ofeach audience member, gender of each audience member, age of eachaudience member, demographic group to which each audience member belongs(i.e., other than age or gender, which might include, withoutlimitation, at least one of ethnicity, culture, language-proficiency,location, socio-economic grouping, income, political leanings, and/orthe like), viewing patterns of each audience member, specific reactionsof each audience member during presentation of particular portions ofthe first media content (or particular portions of the advertisement),overall reactions of each audience member throughout presentation of thefirst media content (or presentation of the advertisement), consistencyof audience member reactions of each audience member compared with pastreactions and/or with personal preferences of the audience member,consistency of audience member reactions of each audience membercompared with past reactions of the audience member, and/or the like.

In some cases, each of the specific reactions or the overall reactionsmight comprise reactions selected from a group consisting of vocalexpressions, facial expressions, hand gestures, body gestures, eyemovement, eye focus, and/or shift in proximity with respect to thepresence detection device, or the like. In some instances, theaudience-based information might be monitored using one or more offacial recognition techniques, facial expression recognition techniques,mood recognition techniques, emotion recognition techniques, voicerecognition techniques, vocal tone recognition techniques, speechrecognition techniques, eye movement tracking techniques, eye focusdetermination techniques, proximity detection techniques, and/or thelike.

At block 220, method 200 might comprise collecting, with the presencedetection device, presence information of a user. A variety ofoperations might be involved in the collection of presence informationof a user. For example, in some cases, the presence detection devicemight capture one or more images of at least a portion of a room whereit is located and/or of a user present in the room. Such images can bedigital still images, a digital video stream, and/or the like. In othercases, the method can include capturing audio samples, identifyingdevices (such as those known to be associated with the user) inproximity to the capturing device, and/or the like.

Method 200, at block 225, might comprise estimating, with the presencedetection device, characteristics of the user (including, withoutlimitation, age, gender, demographics, and/or the like), based at leastin part on information derived from at least a portion of the presenceinformation. In some cases, estimation of age, gender, demographics,and/or the like might include, but is not limited to, comparing image,video, and/or audio presence information of the user with image, video,and/or audio information of people having known age, gender,demographics, and/or the like that may be stored in a database and/ormay be accessed via a network (e.g., local area network, Internet, widearea network, etc.). Method 200 might further comprise determining, withthe presence detection device, whether at least one portion of thereceived first media content should be filtered (block 230). In someembodiments, determining whether at least one portion of the receivedfirst media content might be based at least in part on one or more ofinformation in a user profile of the user (or each user whose presenceis detected), analyzing the first media content to identify specificvideo content, image content, game content, audio content, etc. that areindicated in a database as being potentially objectionable, receivinguser input from at least one of the users (whose presence is detected)indicating that the at least one portion of the media content should befiltered, analysis of the first media content being presented forpotentially objectionable or potentially offensive content (in somecases, prior to presentation or, in other cases, as it is beingpresented), and/or analysis of information about the group of userswhose presence is detected.

At block 235, method 200 might comprise, based on a determination thatat least one portion of the received first media content should befiltered, filtering, with the presence detection device, the at leastone portion of the received first media content prior to presenting theat least one portion of the received first media content. In some cases,where the at least one portion of the received first media content isvideo content or game content, filtering the at least one portion of thereceived first media content might include, without limitation, one ormore of blanking the video or game content, replacing scenes or imagesin scenes of the video or game content with replacement content, and/orthe like. In some instances, blanking the video or game content mightinclude replacing potentially offensive portions of the video or gamecontent with a blank screen until such portions have passed.Alternatively, blanking the video or game content might include pausingpotentially offensive portions of the video or game content at anon-offensive portion of the video or game content (prior to thepotentially offensive portions), while audio (if non-offensive)continues to play, and when such portions have passed, resumingpresentation of the video or game content (which would be matched withthe audio presentation). In yet another alternative, blanking the videoor game content might include skipping potentially offensive scenes ofthe video or game content (including audio (whether offensive or not)).In some embodiments, replacement content might include, withoutlimitation, replacement scenes, polygons (which may be colored, asappropriate), pixilation or pixelated images, blurred images, smileyface(s), predetermined images, random images, and/or the like. Thepolygons, pixelated images, blurred images, smiley face(s),predetermined images, random images, and/or the like might replacepotentially offensive images within scenes of the video or game content.

In a similar manner, where the at least one portion of the receivedfirst media content is image content, filtering the at least one portionof the received first media content might include, but is not limitedto, blanking at least portions of the image content, replacing at leastportions of the image content with replacement image content, and/or thelike. Here, replacement image content might include, without limitation,polygons (which may be colored, as appropriate), pixilation or pixelatedimages, blurred images, smiley face(s), predetermined images, randomimages, and/or the like. The polygons, pixelated images, blurred images,smiley face(s), predetermined images, random images, and/or the likemight replace potentially offensive portions of the image content.

Where the at least one portion of the received first media content isaudio content, filtering the at least one portion of the received firstmedia content might include, without limitation, muting potentiallyoffensive language or disturbing sounds, replacing potentially offensivelanguage or disturbing sounds with replacement audio content, and/or thelike. In some instances, replacement audio content might include, but isnot limited to, replacement words, a tone (e.g., 1 kHz tone or thelike), a muted audio clip, etc. In some cases, replacement words mightinclude replacement words matching one or more of gender, age,nationality, accent, and/or characteristics of a speaker of words thatare being replaced by the replacement words. For example, a character ina video or gaming content might have a British accent, and might say anoffensive word (e.g., “piss,” which to some people might be deemedoffensive); the replacement word (e.g., “urinate,” which to some peoplemight be deemed less offensive) might be modulated or otherwisegenerated to mimic the British accent.

Although the media content described above is with respect to, forexample, broadcast, streamed, downloaded, or other types of pre-producedvideo, game, image, and/or audio content, the various embodiments arenot so limited, and some embodiments may allow for real-time ornear-real-time filtering of content that is presented through the userdevice (e.g., user device 105, including, without limitation, videocalling device, PDD, ICD, and/or the like). For example, during a videocall, if a child user is present (for instance), any inappropriatelanguage spoken by a call participant whose video and audio are beingpresented to the child user (and any accompanying user) might beautomatically filtered (and in some cases, might be replaced with wordsgenerated or modulated to mimic the accent and other vocalcharacteristics of the call participant). In some cases, the callparticipant might have a movie, television program, or game beingpresented on a display device, which might be within the field of viewof the camera of the call participant's video calling device. Ifpotentially offensive or inappropriate material or content (e.g.,nudity, sexual content, violent content, and/or foul language, etc.) isbeing presented on that display device, the child user on the other endof the video call might otherwise be exposed to it. With the techniquesdescribed herein, such potentially offensive or inappropriate content(although captured by a camera of the call participant's video callingdevice) may still be automatically filtered when the video and audio ofthe call participant (and her display device) are presented to the childuser on the other end of the video call. In another non-limitingexample, if ICDs are relaying real-time video of an area via a networkto a display device through a PDD, and a child user's presence isdetected in front of the PDD and/or display device, any inappropriatecontent captured by the ICDs (in real-time) may in real-time ornear-real-time be automatically filtered, in a manner similar to that asdescribed above.

Method 200, at block 240, might comprise, based on a determination thatthe received first media content should not be filtered, continuing topresent, with the presence detection device, the received first mediacontent, without filtering the received first media content. In somecases, one or more portions of the first media content might havealready been filtered and presented, and subsequently, it may bedetermined that filtering is no longer necessary. Based on adetermination that the received first media content should no longer befiltered, method 200 might comprise resuming presenting, with thepresence detection device, the received first media content, withoutfurther filtering the received first media content. For example, ifinitial filtering is due to detection of presence of a child user duringpresentation of media content that contains content that isinappropriate for the child user, and the presence detection devicesubsequently determines that the child user is no longer present, thenthe presence detection device might determine that filtering is nolonger necessary, and might resume presenting an unfiltered (i.e.,uncensored) version of the first media content.

Although FIG. 2A as described above is directed to the presencedetection device determining whether at least a portion of the firstmedia content should be filtered, the various embodiments are not solimited, and determination as to whether at least a portion of the firstmedia content should be filtered may be performed by a server over anetwork (e.g., server 110 or content filtering server 135 in FIG. 1, orthe like), which is shown with respect to FIG. 2B.

In FIG. 2B, the processes at blocks 205-220 are similar, if notidentical to those at blocks 205-220 shown and described with respect toFIG. 2A, and thus the descriptions above with respect to the processesat these blocks in FIG. 2A are applicable to those at the correspondingblocks in FIG. 2B, and are omitted here for simplicity and to avoidexcessive repetition.

With respect to FIG. 2B, method 200 might further comprise blocks245-265, and might further modify blocks 225-240 in FIG. 2A (denoted asblocks 225′-240′ in FIG. 2B). At block 245, after the process at block215, method 200 might comprise sending, with the presence detectiondevice, the monitored information associated with the first mediacontent to a server computer (e.g., control server 110 and/or contentfiltering server 135 of FIG. 1 or the like) over a network (e.g.,network 115 or 145 of FIG. 1, the network 710 of FIG. 7, or the like).Method 200, at block 250, might comprise receiving, with the servercomputer, the monitored information associated with the first mediacontent. Method 200 might further comprise, after the process at block220, sending, with the presence detection device, the presenceinformation of the user to the server computer (block 255) andreceiving, with the server computer, the presence information of theuser (block 260).

Thereafter, method 200 might further comprise, at block 225′,estimating, with the server computer, characteristics of the user, basedat least in part on information derived from at least a portion of thepresence information of the user. At block 230′, method 200 mightcomprise determining, with the server computer, whether at least oneportion of the first media content should be filtered. The processes ofblocks 225′ and 230′ are similar to those of blocks 225 and 230, exceptthat here the server computer is performing these processes rather thanthe presence detection device. Accordingly, the descriptions above forprocesses in blocks 225 and 230 of FIG. 2A are otherwise applicable tothose in blocks 225′ and 230′, respectively.

In some embodiments, method 200 might further comprise retrieving (froma database) or generating, with the server computer, at least onefiltered portion to replace the at least one portion of the first mediacontent (block 265). The at least one filtered portion might include anyof the replacement content described above, for example.

At block 235′, method 200 might comprise, based on a determination thatat least one portion of the first media content should be filtered,filtering the at least one portion of the first media content prior tothe at least one portion of the first media content being presented.Filtering, in some cases, may be performed by one or both of thepresence detection device and/or the server computer. Otherwise, block235′ is identical to block 235 of FIG. 2A, and descriptions thereof aresimilarly applicable to the process in block 235′ of FIG. 2B. Method200, at block 240′, might comprise, based on a determination that thefirst media content should not be (or should no longer be filtered),continuing to present (or resuming presentation of) the first mediacontent, without (further) filtering the first media content. Here also,resuming presentation may be performed by the presence detection device(which would result in a process identical to that at block 240 of FIG.2A), or might be performed by the server computer, which either wouldinstruct the presence detection device to continue or resume presentingthe first media content without (further) filtering the first mediacontent, or would forego sending instructions to the presence detectiondevice, thereby allowing the presence detection device to continuepresenting the first media content without further filtering the firstmedia content.

We now turn to FIGS. 3A and 3B (collectively, “FIG. 3”), whichillustrate various methods 300 of enabling or implementing presencedetection and/or automatic content filtering of media content based ondetected presence of users, in accordance with one set of embodiments.FIG. 3A illustrates an example method in which a single user is presentand the PDD or ICD detects, identifies, and determines whether to filterat least portions of the media content for the single user, while FIG.3B illustrates an alternative method in which multiple users are presentand the PDD or ICD detects, identifies, and determines whether to filterat least portions of the media content for the group of multiple users.In both cases, the PDD/ICD and/or the server computer filters at leastportions of the media content or resumes presenting the media content tothe user(s), based on various determinations as outlined in FIG. 2above.

While the techniques and procedures are depicted and/or described in acertain order for purposes of illustration, it should be appreciatedthat certain procedures may be reordered and/or omitted within the scopeof various embodiments. Moreover, while the method illustrated by FIG. 3can be implemented by (and, in some cases, are described below withrespect to) the systems 100, 600, and/or 700 of FIGS. 1, 6, and/or 7,respectively (or components thereof), such methods may also beimplemented using any suitable hardware implementation. Similarly, whileeach of the system 100 (and/or components thereof) of FIG. 1, the system600 (and/or components thereof) of FIG. 6, and/or the system 700 (and/orcomponents thereof) of FIG. 7 can operate according to the methodillustrated by FIG. 3 (e.g., by executing instructions embodied on acomputer readable medium), the system 100 can also operate according toother modes of operation and/or perform other suitable procedures. Insome embodiments, method 300 might be implemented complementary tomethod 200 of FIG. 2, while in other embodiments, method 200 may beimplemented independently, separately, or otherwise without implementingmethod 300.

With reference to FIG. 3A, the method 300 might comprise detectingpresence of the first user and identifying the first user (block 305).At block 310, method 300 might comprise accessing a user profile(s) of(or associated with) the first user. In some cases, the user profile(s)might be stored locally in a presence detection device (“PDD”), an imagecapture device (“ICD”), or user device associated with the first user,locally in a data store communicatively coupled (but external) to thePDD or ICD, remotely in a data store (e.g., database 130, 140, and/or155 of FIG. 1, or the like), and/or the like. The PDD, ICD, or userdevice might present the first media content to the user (block 315).The PDD, ICD, or user device might monitor the first media content beingpresented and/or the first user during presentation of the first mediacontent. For example, method 300 might comprise determining whichportions of the first media content are viewed and/or listened to by thefirst user (block 320) and/or monitoring reactions (either specificreactions or overall reactions) of the first user.

In some embodiments, each of the specific reactions or the overallreactions might include, without limitation, vocal expressions, facialexpressions, hand gestures, body gestures, eye movement, eye focus,and/or shift in proximity with respect to the presence detection device,or the like. In some instances, the audience-based information might bemonitored using one or more of facial recognition techniques, facialexpression recognition techniques, mood recognition techniques, emotionrecognition techniques, voice recognition techniques, vocal tonerecognition techniques, speech recognition techniques, eye movementtracking techniques, eye focus determination techniques, proximitydetection techniques, and/or the like.

According to some embodiments, level of interest of the first user maybe gauged by determining how much time the first user is actuallyviewing, listening to, or playing the media content, whether or not thefirst user replays one or more portions of the media content, the firstuser's proximity to display screen or speaker system, etc. For example,the eye movement tracking, eye focus determination, proximity detection,voice recognition, facial recognition techniques, and/or the like may beused to determine when the first user is paying attention to the mediacontent being presented and to which portions the attention of the firstuser is drawn (e.g., the first user leaning in toward the displayscreen, the first user screaming or pumping his or her arms inencouragement of actions by a character in the media content, the firstuser shouting words like “awesome,” “cool,” or “whoa,” the first userstaring intently (e.g., without blinking, etc.) at certain portions ofthe display screen corresponding to actions or characters in the mediacontent, etc.). In a similar manner, media content and/or scenes ofmedia content that the user is not interested in or is repulsed by maybe determined or identified using similar techniques (e.g., the firstuser cringing when presented with a gruesome scene of carnage or torturein a movie or video game, the first user exhibiting signs of wanting tothrow up when presented with scenes of utter disgust, the first userbacking away from the display screen, the first user forcefully closinghis or her eyes or otherwise purposely looking away, etc.).

Monitoring of the presentation of the media content may be used todetermine whether the user is replaying at least portions of the mediacontent, and to determine which portions are being replayed. Similarly,monitoring of the presentation of the media content may also be used todetermine whether the first user is skipping or fast-forwarding throughscenes, and which portions of the media content are being skipped orfast-forwarded. The results of these determinations based on monitoringof the first user's reactions and monitoring of the media content(particular the determinations as to what the user is not interested inor is repulsed by, or determinations as to what the user is skipping orfast-forwarding through, or the like) might serve to indicate types ofcontent that should be filtered for the user in similar media content inthe future.

These detection techniques might utilize one or more of an image orimage capture device, an audio capture device, a proximity detectiondevice, a motion sensing device, a heat sensing device (e.g., aninfrared sensor, a thermosensor, or the like), a communications device(e.g., Bluetooth communications device, Wi-Fi communications device, ornear-field communications device, or the like), and/or the like.

At block 325, method 300 might comprise determining whether at least oneportion of the first media content should be filtered based at least inpart on information in the user profile of the first user. For example,the first user might have included in, modified, or updated his or heruser profile to indicate the types of content (e.g., one or more ofsexually explicit content, sexually implicit content, violent content,certain offensive words or language, etc.) in particular types of mediacontent (e.g., video clips, movies, television programs, video games,music clips, music videos, etc.) to filter when presenting media contentto the user, as well as indicating the manner that the first userprefers the content to be filtered (e.g., by blanking, by pausing, byskipping, by replacing with any of the replacement content describedabove, etc.). In some cases, the user profile of the first user might beautomatically updated by the presence detection device, the servercomputer, or other device based on information gathered and associatedwith the first user (including, but not limited to, monitoring anddetermining what types of content the user is not interested in, isrepulsed by, skips, or fast-forwards through, etc.).

Alternatively, or additionally, method 300, at block 330, might comprisedetermining whether at least one portion of the first media contentshould be filtered based at least in part on analyzing the first mediacontent to identify specific video content, image content, game content,audio content, or the like that are indicated in a database as beingpotentially objectionable or offensive. In some embodiments, thespecific video content, image content, game content, audio content, orthe like might be identified by the first user, while, in some cases,these specific content might be identified by a second user. In someinstances, the second user might be a known friend or family member ofthe first user. In other instances, the second user might be a socialmedia friend of the first user, or someone who is unknown to the firstuser. According to some embodiments, the second user might be aplurality of users who are unassociated with the first user. In one setof embodiments, crowd-sourcing efforts might be implemented to useinformation provided by the plurality of users (who are unassociatedwith the first user) to identify specific video content, image content,game content, audio content, or the like as being potentiallyobjectionable or offensive. In some cases, the plurality of users mightalso mark specific locations, times, and/or durations of segments of thepotentially objectionable or offensive content within particular mediacontent. Such markings of the locations, times, and/or durations of theparticular media content can subsequently be used to filter thesepotentially objectionable or offensive content.

Alternative, or additional, to the above determinations at blocks 325and 330, method 300 might further comprise determining whether at leastone portion of the first media content should be filtered based at leastin part on receiving user input from the first user or another user (whomay or may not be present during presentation of the first mediacontent; e.g., a parent, guardian, or other adult, etc.) indicating thatthe at least one portion of the first media content should be filtered(block 335). In one non-limiting example, a parent might have previouslyset up parental control options for his or her children, in order toautomatically filter content that the parent deems to be inappropriatefor the children (e.g., nude content, sexual content, violent content,offensive language, scenes involving use of tobacco, alcohol, and/ordrugs, etc.). In some cases, the parent might set up age brackets foreventually loosening filtering controls for each child. For example, theparent might set up the filtering options so that certain ones (if notall) of these types of inappropriate content might be lifted when thechild reaches a certain age (e.g., age of majority, etc.). According tosome embodiments, the presence detection device or other user devicemight determine that the presence information of the child user (orother user) has changed over certain periods of time, and, based on suchdetermination, might update the child user's (or other user's) userprofile with the updated presence information. In this way, a user'sappearance, voice, or other personal characteristics, which may changeover time, might be tracked to provide for better presence detectionand/or identification of the user (such as in subsequent access attemptsand/or in the future in general). In some cases, an adult user mighthelp to set up filtering controls for his or her spouse, sibling,parent, other relative, or friend to filter out content that might bedeemed offensive to his or her spouse, sibling, parent, other relative,or friend.

Alternatively, or additionally, method 300, at block 340, might comprisedetermining whether at least one portion of the first media contentshould be filtered based at least in part on analysis of the first mediacontent being presented for potentially objectionable or potentiallyoffensive content (in some cases, prior to presentation or, in othercases, as it is being presented). In some embodiments, such analysismight include, without limitation, comparing at least portions of thefirst media content with known potentially offensive content. Forexample, for video content, game content, or image content, imagerecognition or image identification techniques may be used to recognizeor identify nudity, sexual content, gun violence, knife violence, gore,blood, violent acts, use of drugs, alcohol, and/or tobacco, and/or thelike. For audio content, sound recognition, word identification, and/orsimilar techniques may be used to recognize or identify offensive wordsor phrases. In some cases, sound recognition, word identification,and/or similar techniques may be used to generate appropriate ornon-offensive synonyms of identified offensive words or phrases, whilematching gender, tone, accent, or other speaker characteristics.

At block 345, method 300 might comprise, based on a determination thatat least one portion of the first media content should be filtered(e.g., based on one or more determinations at blocks 325-340), filteringthe at least one portion of the first media content prior to presentingthe at least one portion of the first media content to the first user.This filtering process is similar, if not identical, to the filteringprocess as described in detail above with respect to blocks 235 or 235′of FIG. 2. Method 300, at block 350, might comprise, based on adetermination that the first media content should not be (or should nolonger be) filtered, continuing to present (or resuming presentation of)the first media content, without (further) filtering the first mediacontent. Block 350 is similar, if not identical, to the process atblocks 240 or 240′ of FIG. 2.

Although FIG. 3A as described above is directed to basing determinationsof whether at least one portion of media content should be filtered (andhow filtering should be implemented) on a single user and on informationrelevant to the single user (e.g., information in the user profile ofthe user, information regarding what the single user's friends haveindicated as being potentially offensive or objectionable, informationregarding what the user has previously indicated (either explicitly orimplicitly by actions of the user) as being offensive or objectionable,etc.), the various embodiments are not so limited, and the determinationof whether at least one portion of media content should be filtered (andhow filtering should be implemented) may be based on two or more userssimultaneously or concurrent, as well as on information relevant to eachuser (e.g., information in the user profile of each user, informationregarding what each user's friends have indicated as being potentiallyoffensive or objectionable, information regarding what each user haspreviously indicated (either explicitly or implicitly by actions of theuser) as being offensive or objectionable, etc.), which is shown withrespect to FIG. 3B.

In FIG. 3B, the processes at blocks 305-315, 330, and 340-350 aresimilar, if not identical to those at blocks 305-315, 330, and 340-350shown and described with respect to FIG. 3A, and thus the descriptionsabove with respect to the processes at these blocks in FIG. 3A areapplicable to those at the corresponding blocks in FIG. 3B, and areomitted here for simplicity and to avoid excessive repetition.

With respect to FIG. 3B, method 300 might further comprise detectingpresence of second through N^(th) users and identifying each of thesecond through N^(th) users (block 355), and accessing a user profile(s)of each user from the second through N^(th) users (block 360). Theprocesses at blocks 320′-335′ are modified for each of the plurality ofusers, rather than just the first user, but are otherwise similar toblocks 320-335 in FIG. 3A, respectively, while the processes at blocks330 and 340-350 remain the same or similar to blocks 330 and 340-350 ofFIG. 3A. At block 320′, method 300 might comprise determining whichportions of the first media content are viewed and/or listened to byeach user—rather than by only the first user, as in block 320 of FIG.3A. Method 300, at block 325′, might comprise determining whether atleast one portion of the first media content should be filtered based atleast in part on information in the user profile of each user—ratherthan being based at least in part on information in the user profile ofonly the first user, as in block 325 of FIG. 3A. Similarly, method 300,at block 335′, might comprise determining whether at least one portionof the first media content should be filtered based at least in part onreceiving user input from at least one of first through N^(th) users orfrom an M^(th) user indicating that the at least one portion of thefirst media content should be filtered; in the embodiment of FIG. 3A,N=1 and M=2, however, in the embodiment of FIG. 3B, N can be anynumber >1, while M=N+1.

Method 300 might further comprise, prior to filtering the media content(if at all) at blocks 345-350, determining whether at least one portionof the first media content should be filtered based at least in part onanalysis of information about the group of first through N^(th) users(block 365). For example, in some cases, this might include determiningcommonalities or differences among the first through N^(th) users interms of what the users deem offensive or objectionable content. In someinstances, this might include determining group demographics for thefirst through N^(th) users, and determining what may be deemed offensiveor objectionable content based on the determined group demographics(which may be compared with known determinations of offensive orobjectionable content by other similar demographic groups). Ifconflicting determinations of portions of the first media content forfiltering arise, then it may be determined that the most restrictivefiltering might be implemented. For example, if at least one child useris present, content deemed inappropriate for the at least one child usermay be determined as being content to be filtered (and subsequentlyfiltered accordingly). In cases where there are no child users, the mostrestrictive filtering may still be applied to ensure that no one presentand viewing/listening to/playing the media content is offended.Alternatively, where no child user is present, a majority rule forfiltering might apply, such that the filtering options of a commonmajority of present users might be implemented. In yet anotheralternative, where no child user is present and no common majorityexists, a determination as to what types of content to filter might bebased on considerations of each user's preferences and levels oftolerance with respect to potentially offensive or objectionablecontent; in such cases, some users may still end up being offended,while others are less (or not) offended by presentation of the firstmedia content, but an overall balance of considerations might still betaken into account.

FIG. 4 illustrates a method 400 of enabling or implementing presencedetection and/or automatic content filtering of media content based ondetected presence of users, in accordance with one set of embodiments.While the techniques and procedures are depicted and/or described in acertain order for purposes of illustration, it should be appreciatedthat certain procedures may be reordered and/or omitted within the scopeof various embodiments. Moreover, while the method illustrated by FIG. 4can be implemented by (and, in some cases, are described below withrespect to) the systems 100, 600, and/or 700 of FIGS. 1, 6, and/or 7,respectively (or components thereof), such methods may also beimplemented using any suitable hardware implementation. Similarly, whileeach of the system 100 (and/or components thereof) of FIG. 1, the system600 (and/or components thereof) of FIG. 6, and/or the system 700 (and/orcomponents thereof) of FIG. 7 can operate according to the methodillustrated by FIG. 4 (e.g., by executing instructions embodied on acomputer readable medium), the system 100 can also operate according toother modes of operation and/or perform other suitable procedures. Insome embodiments, method 400 might be implemented complementary tomethod 200 of FIG. 2 and/or method 300 of FIG. 3, while in otherembodiments, each of method 200 or method 300 may be implementedindependently, separately, or otherwise without implementing method 400.

Turning to FIG. 4, the method 400 might comprise registering a masteraccount for a user (block 405). In accordance with various embodiments,registering a master account for a user can comprise a variety ofoperations. Merely by way of example, registering a master account cancomprise creating a database entry for a particular user and/orassigning authentication credentials to that user; these credentials canbe used to access the master account, as described in further detailbelow.

The method 400 can also include assigning one or more PDDs or ICDs(e.g., user devices 105 in FIG. 1) to the master account (block 410). Asdiscussed above, the one or more PDDs or ICDs can be embodied by a videocalling device, such as any of the video calling devices describedherein, the VCDs described in the '182 patent, the video calling devicesor users devices described in any of the Related Applications, a laptopcomputer, a desktop computer, a mobile phone, a smart phone, a tabletcomputer, a video game console, and/or a streaming media player, to namea few non-limiting examples. For instance, the user might identify anyPDDs or ICDs that the user owns (or is otherwise associated with; e.g.,members of the user's family might be associated with the devices ownedby the user), and the system can assign those PDDs or ICDs to the user'smaster account. According to some embodiments, the user's master accountmight include any suitable number of sub-accounts. In one example, eachmember of the user's family might be associated with a sub-accountlinked with the master account. In some instances, the user (or somemembers of his or her family) might have a work/school sub-account and ahome sub-account, the former being associated with profiles and/or mediacontent appropriate for school or work, while the latter beingassociated with all, or all other, profiles and/or media content. Insome embodiments, the master account and the plurality of sub-accountsmight be organized as a hierarchy, with the master account (being at thetop of the hierarchical structure) having full access to profiles andmedia content of each sub-account, the sub-accounts at the next levelhaving access to profiles and/or media content of only thosesub-accounts that the master account has given access to, and thesub-accounts at lower levels having limited access to profiles and/ormedia content. For example, the user's master account might have accessto all profiles and/or media content associated with the master accountand the sub-accounts. The user can provide his or her spouse with asub-account having the same access to profiles and/or media content,while providing limited access to profiles and/or media content to eachof the user's children's sub-account(s). In some instances, the userand/or the user's spouse might impose limits on access to profilesand/or media content for each of their work sub-accounts.

In some cases, each PDD or ICD might have an identifier, such as ahardware identifier, IP address, nickname, and/or the like, by which thesystem can address the PDD or ICD, and assigning a PDD or an ICD to themaster account can comprise associating that identifier with the masteraccount. When a PDD or an ICD is assigned to a master account, the userof that account will be able to access, configure, and/or control thePDD or ICD through the control server, for example as described infurther detail below. In some cases, the user might own a plurality ofPDDs or ICDs and might wish to control all of the PDDs or ICDs from asingle master account. In an aspect, a user can identify such devicesthrough a user interface to the control server.

In another aspect, as described briefly above, the assignment processcan be simplified. When the user first configures a PDD or an ICD(usually locally, but perhaps over the network), the user can providecredentials to the PDD that associate the device with the masteraccount. Thereafter, the PDD or ICD might be configured to communicatewith the control server and identify itself using those credentials; atthat point, the control server can assign the PDD or ICD to the masteraccount, and no credentials need to be stored on the PDD or ICD fromthat point forward (other than perhaps the PDD's or ICD's ownidentifying information).

Hence, the method 400, in the illustrated embodiment, might furthercomprise providing a user interface to allow interaction between theuser and the control server (block 415). For example, the user interfacecan be used to output information for a user, e.g., by displaying theinformation on a display device, printing information with a printer,playing audio through a speaker, etc.; the user interface can alsofunction to receive input from a user, e.g., using standard inputdevices such as mice and other pointing devices, motion capture devices,touchpads and/or touchscreens, keyboards (e.g., numeric and/oralphabetic), microphones, etc. The procedures undertaken to provide auser interface, therefore, can vary depending on the nature of theimplementation; in some cases, providing a user interface can comprisedisplaying the user interface on a display device; in other cases,however, in which the user interface is displayed on a device remotefrom the computer system (such as on a client computer, wireless device,etc.), providing the user interface might comprise formatting data fortransmission to such a device and/or transmitting, receiving, and/orinterpreting data that is used to create the user interface on theremote device. Alternatively and/or additionally, the user interface ona client computer (or any other appropriate user device) might be a webinterface, in which the user interface is provided through one or moreweb pages that are served from a computer system (and/or a web server incommunication with the computer system), and are received and displayedby a web browser on the client computer (or other capable user device).The web pages can display output from the computer system and receiveinput from the user (e.g., by using Web-based forms, via hyperlinks,electronic buttons, etc.). A variety of techniques can be used to createthese Web pages and/or display/receive information, such as JavaScript,Java applications or applets, dynamic Hypertext Markup Language (“HTML”)and/or Asynchronous JavaScript and XML (or extensible markup language)(“AJAX”) technologies, to name but a few examples.

In many cases, providing a user interface will comprise providing one ormore display screens each of which includes one or more user interfaceelements. As used herein, the term “user interface element” (alsodescribed as a “user interface mechanism” or a “user interface device”)means any text, image, or device that can be displayed on a displayscreen for providing information to a user and/or for receiving userinput. Some such elements are commonly referred to as “widgets,” and caninclude, without limitation, text, text boxes, text fields, tablesand/or grids, menus, toolbars, charts, hyperlinks, buttons, lists, comboboxes, checkboxes, radio buttons, and/or the like. While any illustratedexemplary display screens might employ specific user interface elementsappropriate for the type of information to be conveyed/received bycomputer system in accordance with the described embodiments, it shouldbe appreciated that the choice of user interface elements for aparticular purpose is typically implementation-dependent and/ordiscretionary. Hence, the illustrated user interface elements employedby any display screens described herein should be considered exemplaryin nature, and the reader should appreciate that other user interfaceelements could be substituted within the scope of various embodiments.

As noted above, in an aspect of certain embodiments, the user interfaceprovides interaction between a user and a computer system. Hence, whenthis document describes procedures for displaying (or otherwiseproviding) information to a user, or to receiving input from a user, theuser interface may be the vehicle for the exchange of such input/output.Merely by way of example, in a set of embodiments, the user interfaceallows the user to log on to a master account, access video callingdevices, PDDs, or ICDs via the control server, accesssettings/preferences (e.g., viewing settings/preferences/histories,music or audio settings/preferences/histories, gamingsettings/preferences/histories, videomail settings/preferences,preferences for types of content to filter in media content, preferencesfor how to filter content in media content, etc.), access videomail orother messages, and/or the like.

In an aspect of some embodiments, the user logs onto his or her masteraccount at the control server in order to access and/or control PDDs orICDs assigned to that account, and/or access settings/preferences,and/or the like. Accordingly, at block 420, the method 400 can includeauthenticating the user with a set of credentials associated with themaster account (e.g., with any of several known authentication schemes,such as a userid/password challenge, a certificate exchange process,and/or the like, as well as authentication techniques, described infurther detail below, that employ sensors on a PDD or an ICD, such asfacial recognition, voiceprint analysis, gesture-based identification,spoken identifiers, and/or the like). Once the user has beenauthenticated, the user interface can present the user with a variety ofdifferent information, including without limitation information aboutstatus of PDDs or ICDs assigned to the master account to which the userhas logged on, options for controlling such PDDs or ICDs, options foraccessing media content, options for modifying user settings orpreferences, and/or the like.

Thus, in some aspects, the method 400 might further comprise receiving(e.g., via a network, such as the Internet, to name one example) userpreferences (block 425), and in particular user preferences relating tothe collection and/or use of presence information, including, withoutlimitation, preferences such as those described above. The method 400,then, can further include controlling and/or configuring the PDD or ICD,in some cases based at least in part on the user preferences (block430). In some embodiments, the user preferences might include userpreferences for collecting presence information, user preferences formonitoring people within a room (i.e., room in which the PDD or ICD islocated), user preferences for determining whether or not to filterparticular media content, user preferences for identifying types ofcontent in media content to filter, user preferences indicatingpreferred ways to filter video, image, audio, and/or game content, userpreferences for basing determinations of whether to filter media contenton past viewing, listening, Internet browsing, or gaming history orpatterns, user preferences for basing determinations of whether tofilter media content on similar determinations by known friends,potential friends, and/or social media friends for particular mediacontent or similar media content, and/or the like.

Merely by way of example, the user might have specified in the userpreferences that the PDD or ICD should not be used to collect presenceinformation at all, in which case that feature might be turned off atthe PDD or ICD. In the case that the user preferences indicate thatpresence information should be turned off (e.g., privacy settings may beset high, either permanently or temporarily, and/or with respect tocertain user-established and/or preset conditions, or the like), someembodiments might establish a blocking feature for the user when otherPDDs or ICDs send presence information for comparison matching processeswith database user biometrics, the effect of which being that no matchcan be made, and thus the user's profiles and/or media content (and/oraccess thereto) is not ported to the other PDDs or ICDs. Alternativelyand/or additionally, the user might have specified some limitations onthe collection of presence information (such as about whom suchinformation may be collected, times at which information can becollected, and/or purposes for which information may be collected, toname a few examples). Of course, in some embodiments, these preferencescan be set directly at the PDD or the ICD, e.g., through a menu systemdisplayed on a video device. It should also be recognized that somepreferences (such as with whom presence information can be shared) mightnot affect the PDD or ICD and might be saved and/or operated on at thecontrol server instead.

The amount of control imposed by the control server can vary accordingto embodiment and implementation. Merely by way of example, as notedabove, in some embodiments, there might be no control server, and thePDD or ICD might incorporate all the functionalities described hereinwith regard to the control server, including peer-to-peer functionalitywith other PDDs or ICDs. In other embodiments, the control server mightprovide fairly fine-grained control over the PDD or ICD, such asinstructing the camera to capture images for purposes of determiningpresence, and/or the control server may receive the images directly andperform the presence determination, identification, and/orauthentication procedures at the control server. The division ofresponsibility between the control server and the PDD or ICD can fallanywhere along this spectrum. In some cases, for instance, the controlserver might provide the user preferences to the PDD or ICD, which thenis responsible for collecting presence information in accordance withthose preferences and transmitting the presence information to thecontrol server, which takes the appropriate action in response to thepresence information, such as determining whether media content (eithera particular one that is identified or being presented) should befiltered, etc. Alternatively and/or additionally, the PDD or ICD itselfmight be responsible for taking such actions. Likewise, for determininghow a particular user or a group of users might prefer content to befiltered, either the PDD/ICD or the control server might perform suchfunctionality. In some cases, the PDD or ICD might determine whetherparticular media content should be filtered based on local information(e.g., information associated with the user(s), preferences of theuser(s), user input from the user(s), reactions of the user(s),preferences/history/patterns of the user, and/or the like), while thecontrol server might determine whether particular media content shouldbe filtered based on remote information (e.g., information associatedwith known friends, potential friends, and/or social media friends,information associated with demographic groups to which the userbelongs, information associated with particular censoring groups(perhaps ones that are known to be in line with preferences of theuser(s), or the like), and/or the like).

At block 435, the method 400 can comprise collecting presenceinformation. A variety of operations might be involved in the collectionof presence information. For example, in some cases, the PDD or ICDcaptures one or more images of at least a portion of a room where it islocated and/or of a user present in the room (block 440). Such imagescan be digital still images, a digital video stream, and/or the like. Inother cases, the method can include capturing audio samples (block 445),identifying devices in proximity to the capturing device (block 450),and/or the like (for example as described above).

The method 400 can further comprise analyzing one or more of thecollected presence information (block 455), including one or more of theimages, video samples, audio samples, etc. Merely by way of example, theimages and/or video samples might be analyzed with facial recognitionsoftware and/or other biometric/physiological recognition software,which can be used to determine the number of people in the room with thePDD or ICD and/or to identify any of such people (e.g., by determining aname, an age range, a gender, and/or other identifying or demographicinformation about a user, based on the output of the facial recognitionsoftware and/or other biometric/physiological recognition software).Alternatively and/or additionally, analyzing the images can comprisedetermining that a person is watching a display device, for exampleusing eye-tracking software to identify a focus area of the person'seyes and correlating that focus area with the location on a screen ordisplay of a television (or other suitable display device). In somecases, if the number of people and the identities (or at leastdemographic characteristics) of each of the people in the room can bedetermined, analyzing the images can further include determining acollective demographic of the people in the room (based, for example, onthe demographic characteristics of a majority of people in the room). Infurther cases, the method might analyze audio samples using voiceprintanalysis, compare user responses to stored challenge/responseinformation, and/or the like. As yet another example, a camera of a PDDor ICD might capture user gestures, which can be compared with storedgestures (e.g., a particular pattern of hand waving, a pattern offingers displayed by the user, etc.) in a gesture-based identificationand/or authentication scheme. It should be noted that many embodimentscan use various combinations of such techniques (such as a combinationof facial analysis and spoken, gestured, or typed identifiers, to name afew examples) to provide two-factor authentication. Moreover, suchidentification techniques may be used to monitor reactions of users,which can then be used as one of the bases for determining whether mediacontent should be filtered and how, as described in detail above, orused as one of the bases for generating media content recommendationsand for determining advertisements, as described in detail in the '435,'133, and '603 applications (which have already been incorporated hereinby reference in their entirety).

The identification analysis described above can be performed at thePDD/ICD and/or at the control server. Accordingly, in some embodiments,the PDD or ICD will transmit presence information or other identifyinginformation that can be used (in part or in whole) for identifying theuser. Such identifying information can include raw or analyzed presenceinformation, as well as information derived from the presenceinformation, such as, to name some examples, extracted features from animage, audio segment, and/or video segment; an excerpted image, video,and/or audio segment; and/or the like. Such presence information and/oridentifying information can be transmitted from the PDD or ICD to thecontrol server (block 460), although as noted above, this is notnecessary in some embodiments (e.g., where identifying the user or otheranalysis is performed at the PDD or ICD). Such transmission mightcomprise IP communications over the Internet, (perhaps over a securechannel, such as a virtual private network (“VPN”)), and, as notedabove, the presence/identifying information can include a wide varietyof different types of information that enable the control server todetermine presence and/or identify/authenticate a user. Hence, at block465, the control server (in a cloud-based presence detection scheme)might receive the transmitted presence information. In the case that rawpresence information is received by the control server, the controlserver might analyze the raw presence information in a similar manner asdescribed above at block 455. At block 470, the method 400 comprisesdetecting and/or determining presence of a user. This determination canbe made by the PDD/ICD and/or by the control server. In one case, forexample, the PDD or ICD might transmit raw video segments, raw images,raw audio samples, etc. to the server, which might perform all analysisand presence determination. In another case, the PDD or ICD mightperform this analysis and might notify the control server that a user ispresent. Receiving such a notification at the control server can beconsidered to be the control server detecting presence of a user.

At block 475, the method 400 can include identifying and/orauthenticating a user. In some cases, this identification and/orauthentication can be implicit in the operation of detecting userpresence. For example, in performing facial recognition to detect that auser is present, the PDD or ICD (and/or control server) might furtheranalyze the same image to determine an identity of the present user.Alternatively, however, detection of user presence andidentification/authentication of the user might be performed as discretesteps (and might depend on device capabilities). For example, a PDD orICD might have sufficient capabilities to detect the presence of theuser, and if so, might send identifying information (such as a capturedimage, video sample, audio sample, etc.) to the control server toactually identify the user. Alternatively, the PDD or ICD might becapable of identifying the user on its own and might merely send theidentity of the user (i.e., data identifying the user, such as a name,username, etc.) to the server.

In some instances, the PDD/ICD and/or the control server (i.e., in acloud-based presence scheme) might have access to the user's profile orother personal information of the user (including, without limitation,communications, calendar items, contacts list, travel/itineraryinformation, IP address of user's PDD(s) or ICD(s), or the like). Suchprofile or other personal information might indicate that the user isvisiting a friend or relative in a different city, state, or country. Inthe case that the friend or family member has a similar PDD or ICDlinked to a common network with the control server or other PDDs or ICDs(i.e., in a peer-to-peer or distributed computing scheme), the user'sPDD/ICD and/or the control server (if present) might facilitateidentification and/or authentication of the user at the friend's orrelative's PDD or ICD (“other PDD” or “other ICD”), by, for example,sending the user's biometric/physiological information to the other PDDor ICD and/or to a data center local to the other PDD or ICD, so as toreduce comparison/matching times for identification/authentication ofthe user at the other PDD or ICD. Such proactive autonomous facilitationfunctionality might, in some cases, be subject to the user's selectionof such option in the user preferences (e.g., at block 425 above). Insome cases, the user might disable and/or limit such functionality(e.g., for privacy reasons, for security reasons, and/or the like). Insome embodiments, the IP address of a PDD or an ICD at which a userattempts to log in might be analyzed to determine the city in which thePDD or ICD is located. If the city (or neighborhood or customerpremises) of the last PDD or ICD at which the user logged in (or isotherwise authenticated by) is determined to be different from the city(or neighborhood or customer premises) of the current PDD or ICD, thenit can be inferred that the user has moved, or is travelling. Suchinference may be used, in some embodiments, to further infer a generaldirection in which the user is travelling (or to infer a potentialdestination(s), if sufficient numbers of data points/locations aredetermined), and can be used to send ahead the user's profile and/orcontent to control servers and/or PDDs/ICDs that are at or near thedetermined potential destination(s).

Once the present user has been identified and/or authenticated, thecontrol server (and/or the PDD or ICD at which the user is present)might enable or implement determination of whether or not tofilter/replace/censor/etc. content based on detection or identificationof the user(s), in accordance with any or all of the processes in blocks205-265, as described in detail above with respect to FIG. 2, and/or inblocks 305-365, as described in detail above with respect to FIG. 3.

According to some aspects, in response to determining the presence ofthe user (at block 470) and/or identifying and authenticating the user(at block 475), method 400, at block 480, might comprise determiningwhether at least a portion of media content should be filtered, based ondetection or identification of the user(s), which is described in detailabove with respect to FIGS. 1-3. At block 485, method 400 might comprisefiltering and presenting the filtered media content based on suchdetermination, in some cases, in response to determining the presence ofthe user (at block 470), identifying and authenticating the user (atblock 475), and/or determining that at least a portion of the mediacontent should be filtered (at block 480). Filtering and presenting thefiltered media content based on such determination is also described indetail above with respect to FIGS. 1-3.

In some embodiments, the PDD, ICD, and the video calling device might bethe same user device, in which case, the video calling device mightdetect presence of a user (as described in detail above with respect tothe PDD or ICD), and might notify a computer about the detected presenceof a user. Such a video calling device might then receive, over anetwork, control instructions from the computer to enable orimplementing presence detection and/or automatic content filtering ofmedia content, in response to the detected presence of the user.

In some embodiments, the method 400 might further comprise determiningthat a user is no longer present at the PDD or ICD (block 490). Forexample, as noted above, the system might continuously and/orperiodically capture images and perform presence determinationtechniques (e.g., as described above) to determine whether the user isstill present, and/or might actively query the user after some period oftime to determine whether the user is still present. If the systemdetermines that the user is no longer present, the system can blockremote access (and control) of the PDD or ICD, remote access to userpreferences, and remote access to the user profile, etc. over thenetwork (block 495). For example, the system might delete any image orvideo content transmitted to the PDD or ICD, log out of any services forcontrolling remote PDDs or ICDs, revoke access to image and/or videocontent captured by the PDD(s) or ICD(s) (and/or post-processed usingraw captured image data or raw captured video data from the PDD(s) orICD(s)) stored in the cloud, revoke access to view or modify userpreferences (including user preferences related to monitoring mediacontent being presented, monitoring media content downloads, monitoringreactions of users, determining advertisements, sending notifications ofdetermined advertisements, and/or the like), revoke access to view orrespond to notifications of media content, and/or the like. Thisfunctionality is particularly useful and applicable to PDDs or ICDs (orother devices) that are neither owned nor associated with the user(e.g., a friend's or relative's device, devices at a vacation hotel orvacation rental property, etc.). Such determination and content/accessremoval might, in some instances, be based on a time-out system (e.g.,5, 15, 30, or 80 minutes, etc.), in which the system might account forthe user's temporary absence from the room, while protecting the accessto profiles (with which accessing and control of the PDD(s) or ICD(s)may be associated and/or with which user preferences may be associated),and/or content. In some cases, the user can select specific time-outperiods, which can be stored in the user's profile, and such specifictime-out periods can be universally applicable to some or all profiles,some or all media content, or some or all profiles and media content, orcan be specific to particular profiles and/or media content. In somecases, user profiles might be associated with a much shorter time-outperiod (a time between 1-5 minutes) compared with media content (whichmight have a time-out period ranging from 15 minutes to 3 hours, or thelike). The time-out system might be based on a counter or clock systemthat starts counting from the last time the system recognized that theuser was in range of any of the sensors of the PDD or ICD. Any suitabletechniques other than the time-out system described above may beimplemented as appropriate. Of course, in response to detecting that theuser is no longer present, the PDD(s) or ICD(s) might either stoppresenting the at least one advertisement (if currently being presented)or not present the at least one advertisement (if not yet presented).

In some embodiments, the functionalities of block 490 might be appliedto detection of non-presence of a child user (or other user who mightfind particular content offensive, compared with any remaining users).For example, if presence of a child user is detected and/or identified(at blocks 470 and/or 475), it may be determined at some portion ofmedia content should be filtered (at block 480), in response of whichdetermination those particular portions of media content would befiltered. However, if the child user leaves the room, for example, thenit may be detected that the child user is no longer present (at block490). In response to determining non-presence of the child user, ifother inappropriate content of the media content (e.g., nude scene,violent scene, or sexually explicit/implicit scene in video or gamingcontent; offensive language in video, audio, or gaming content; image(s)containing nudity, sexually explicit/implicit content, violent content,offensive language, etc.; or the like) has yet to be presented,presentation of those other inappropriate content may resume or continuewithout further filtering, provided that continued non-presence of thechild user is determined when those other inappropriate content arebeing presented.

The reader should note that a wide variety of presence-based functions(including, without limitation, those described in the RelatedApplications) can be performed by the system in conjunction with varioustechniques described as part of the methods 200, 300, and/or 400, andthat such functions can be combined in any suitable way. Based on thisdisclosure, the skilled reader will understand that such techniques canbe combined in a number of different ways.

FIG. 5 illustrates a functional diagram of a system 500 for enabling orimplementing presence detection and/or automatic content filtering ofmedia content based on detected presence of users, in accordance withone set of embodiments. The skilled reader should note that thearrangement of the components illustrated in FIG. 5 is functional innature, and that various embodiments can employ a variety of differentstructural architectures. Merely by way of example, one exemplary,generalized architecture for the system 500 is described below withrespect to FIG. 7, but any number of suitable hardware arrangements canbe employed in accordance with different embodiments.

In FIG. 5, a PDD 505 might correspond to ICD 105, video calling device105, and/or PDD 105, while user device 545 might correspond to non-ICDuser device 105, non-video calling device user device 105, or non-PDDuser device 105, as described in detail above with respect to FIG. 1.Control server 510, network 515, and cloud storage system 530, in theexample of FIG. 5, might correspond to control server 110, network 115,and cloud storage system 130, respectively, as described in detail abovewith respect to FIG. 1.

System 500 might further comprise a local content source 535 (e.g., alocal content source as described above), a display device 540(including, without limitation, a television (“TV”) and/or the like),and high-definition (“HD”) data cables 550 (or any other suitable datatransmission media). In some cases, the HD data cables 550 mightinclude, without limitation, high-definition multimedia interface(“HDMI”) cables. One or more of the PDDs 505 (e.g., the first PDD 505 aand the second PDD 505 b, as shown in FIG. 5) might be configured toprovide pass-through audio and/or video from a local content source 535to a display device 540 (e.g., using data cables 550). Merely by way ofexample, in some embodiments, an HDMI input port in the PDD 505 allowsHD signals to be input from the corresponding local content source 535,and an HDMI output port in the PDD 505 allows HD signals to be outputfrom the PDD 505 to the corresponding display device 540 (e.g., TV,which might include, but is not limited to, an Internet Protocol TV(“IPTV”), an HDTV, a cable TV, or the like). The output HD signal may,in some cases, be the input HD signal modified by the PDD 505. Localcontent source 535 might be any suitable local content source. An notedabove, a local content source can be any device that provides an audioor video stream to a display device and thus can include, withoutlimitation, a cable or satellite STB, an IPTV STB, devices that generatevideo and/or audio, and/or acquire video and/or audio from othersources, such as the Internet, and provide that video/audio to a displaydevice; hence a local content source can include devices such as a videogame console, a Roku® streaming media player, an AppleTV®, and/or thelike. Hence, when situated functionally inline between a local contentsource and a display device, the PDD 505 can receive an audiovisualstream output from the local content source, modify that audiovisualstream in accordance with the methods described in the '182 patent, andprovide the (perhaps modified) audiovisual stream as input to thedisplay device 540. In some embodiments, first PDD 505 a, local contentsource 535 a, display device 540 a, and user device 545 a (if any) mightbe located at a first customer premises 560 a, while second PDD 505 b,local content source 535 b, display device 540 b, and user device 545 b(if any) might be located at a second customer premises 560 c. Accordingto some embodiments, a user device 545, which might be located at acustomer premises 560, might be a portable user device (including,without limitation, a tablet computer, a laptop computer, a smart phone,a mobile phone, a portable gaming device, and/or the like) that is notbound to any particular customer premises 560. In some embodiments,system 500 might further comprise a plurality of customer premises 560(i.e., customer premises 560 a through customer premises 560 n), at eachof which might be a PDD 505 (with PDD 505 n located at customer premises560 n) and a local content source 535 (with local content source 535 nlocated at customer premises 560 n), and/or the like.

According to some embodiments, system 500 might further comprise one ormore access points (not shown), each of which might be located inproximity to or in the first customer premises 560 a, the secondcustomer premises 560 b, through the N^(th) customer premises 560 n. Theaccess point(s) can allow wireless communication between each PDD 505and network 515. (Of course, a PDD 505 might also have a wiredconnection to an access point, router, residential gateway, etc., suchas via an Ethernet cable, which can provide similar communicationfunctionality.) In some cases (as shown), each PDD 505 might becommunicatively coupled to network 515 (via either wired or wirelessconnection), without routing through any access points. In some cases,wired or wireless access to network 515 allows PDD 505 to obtainprofiles from cloud storage system 530 and/or media content from contentserver 570 and media content database 575 independent of thecorresponding local content source 535, which is in communication with acontent distribution network 565 (either via wireless connection or viawired connection). In some cases (not shown), content distributionnetwork 565 (which could be, for example, a cable televisiondistribution network, a satellite television distribution network, anInternet Protocol television (“IPTV”) distribution network, and/or thelike) might be communicatively coupled with content server 570, and thuslocal content source 535 might obtain media content from content server570 and media content database 575 independently of PDD 505.

In this manner, PDD 505 can overlay the input signal from thecorresponding local content source 535 with additional media content toproduce an augmented output HD signal to the corresponding displaydevice 540 via data cables 550. This functionality allows forsupplemental content (which may be associated with the media contentaccessed by the local content source 535 for display on display device540) to be accessed and presented using the first PDD 505, in somecases, as a combined presentation on the display device 540, which maybe one of an overlay arrangement (e.g., a picture-in-picture (“PIP”)display, with the supplemental content overlaid on the main content), asplit screen arrangement (with the supplemental content adjacent to, butnot obscuring, any portion of the main content), a passive banner stream(with non-interactive supplemental content streaming in a banner(s)along one or more of a top, bottom, left, or right edge of a displayfield in which the main content is displayed on display device 540),and/or an interactive banner stream (with interactive supplementalcontent streaming in a banner(s) along one or more of a top, bottom,left, or right edge of a display field in which the main content isdisplayed on display device 540). Herein, examples of interactivesupplemental content might include, without limitation, content thatwhen streamed in a banner can be caused to slow, stop, and/or replaywithin the banner, in response to user interaction with the contentand/or the banner (as opposed to passive banner streaming, in whichinformation is streamed in a manner uncontrollable by the user). Theinteractive supplemental content that is streamed in the banner may, insome instances, also allow the user to invoke operations or functions byinteracting therewith; for example, by the user highlighting and/orselecting the supplemental content (e.g., an icon or still photograph ofa character, actor/actress, scene, etc. associated with the maincontent), links for related webpages, links to further content stored inmedia content database 575, or operations to display related content ondisplay device 540 and/or user device 545 may be invoked. In someembodiments, the interactive supplemental content might includenotifications or messages relating to recommendations of media content,the determination and generation of which are described in detail above.According to some embodiments, the interactive supplemental content(whether related or unrelated to the media content being presented)might include advertisement content (such as determined (i.e., selectedand/or generated) according to embodiments described above with respectto FIGS. 1-4, or the like).

In some instances, PDD 505 might detect the presence and/or proximity ofone or more user devices 545 associated with the user, and might (basedon user profile information associated with the user that is stored,e.g., in cloud storage system 530) automatically send supplemental mediacontent via wireless link 555 (directly from PDD 505 or indirectly viaan access point (not shown)) for display on a display screen(s) of theone or more user devices 545. In one non-limiting example, a userassociated with first PDD 505 a might have established a user profilestored in cloud storage system 530 that indicates a user preference forany and all supplemental content for movies and television programs tobe compiled and displayed on one or more user devices 545 a (including,but not limited to, a tablet computer, a smart phone, a laptop computer,and/or a desktop computer, etc.) concurrent to display of the movie ortelevision program being displayed on display device 540 a. In such acase, when a movie is playing on display device 540 a broadcast orstreamed via local content source 535 a from content server 570 andmedia content database 575 (and/or from some other content server andsome other media content source) via network 565, first PDD 505 aaccesses supplemental content (if available) from content server 570 andmedia content database 575 via network 515, and sends the supplementalcontent to the user's tablet computer and/or smart phone via wirelesslink(s) 555. For example, bios of actors, actresses, and/or crew mightbe sent to the user's smart phone for display on the screen thereof,while schematics of machines, weapons, robots, tools, etc. associatedwith the movie or television show might be sent to and displayed on theuser's tablet computer, behind the scenes videos or information,news/reviews associated with the main content, and/or music videosassociated with the main content may also be sent to the user's smartphone and/or tablet computer, and so on.

Merely by way of example, in some embodiments, first media content mightbe received by local content source 535 a (in customer premises 560 a)from media content database 575 via content server 570 and contentdistribution network 565. The first PDD 505 a might provide pass throughcapability for displaying video aspects (in some cases audio aspects aswell) of the first media content from the local content source 535 a. Asthe first media content passes through the first PDD 505 a, the firstPDD 505 a might monitor the media content, might determine whether ornot to filter at least one portion of the media content, and might(based on a determination that at least one portion of the media contentshould be filtered) filter the at least one portion of the mediacontent. In some cases, determining whether at least one portion of themedia content should be filtered might be based at least in part on oneor more of information in the user profile of the user (or each userwhose presence is detected), analyzing the first media content toidentify specific images, scenes, audio, etc. that are indicated in adatabase as being potentially objectionable, receiving user input fromat least one of the users (whose presence is detected) indicating thatthe at least one portion of the media content should be filtered,analysis of the first media content being presented (in some cases,prior to presentation or, in other cases, as it is being presented),and/or analysis of information about the group of users whose presenceis detected.

Alternatively, or in addition, the first PDD 505 a might comprisesensors (e.g., camera, microphone, proximity sensors, user devicesensors, communications links, etc.) that monitor the user(s) within thesame room, e.g., to monitor or track reactions of each user (including,but not limited to, vocal expressions or outbursts, facial expressions,hand gestures, body gestures, eye movement, eye focus, shift inproximity with respect to the PDD, and/or the like), using any number orcombination of techniques, including, without limitation, facialrecognition techniques, facial expression recognition techniques, moodrecognition techniques, emotion recognition techniques, voicerecognition techniques, vocal tone recognition techniques, speechrecognition techniques, eye movement tracking techniques, eye focusdetermination techniques, proximity detection techniques, and/or thelike. The first PDD 505 a might determine whether or not tofilter/censor/replace at least portions of the media content (or toresume presenting unfiltered/uncensored/unreplaced media content) basedat least in part on the monitored reactions of each user.

In some instances, the first PDD 505 a might send the informationassociated with the detected presence of each user, informationassociated with the monitored media content, and/or informationassociated with the monitored reactions of each user to control server510 over network 515, and control server 510 might determine, based atleast in part on the presence information, the monitored media content,and/or the monitored reactions of each user, whether or not to filter atleast one portion of the media content (and/or whether or not to resumepresenting unfiltered versions of the media content). In some cases,control server 510 might alternatively or additionally determine whetheror not to filter at least one portion of the media content (and/orwhether or not to resume presenting unfiltered versions of the mediacontent) for the users associated with the first PDD 505 a (herein,“first users”) based at least in part on the monitored media contentfrom one or more of second through N^(th) PDDs 505 b-505 n and/or basedat least in part on the monitored reactions of users monitored by (orotherwise associated with) second through N^(th) PDDs 505 b-505 n(herein, “second users”). Here, the second users might be friends of thefirst users (i.e., known friends, potential friends, or social mediafriends), might be unrelated yet belonging to a similar demographicgroup(s), or might be unrelated but representative of a particularpopulation group (either a population group to which the first usersbelong or some other population group). In one non-limiting set ofembodiments, crowdsourcing might be used to determine whether or not tofilter at least one portion of the media content (and/or whether or notto resume presenting unfiltered versions of the media content), bycompiling marked locations of potentially offensive content (e.g., nudecontent, sexual content, violent content, offensive language, etc.). Insome cases, the profile information of the crowd-sourced users markingsuch locations might be compared with the users associated with thefirst PDD 505 a. If it is determined that these two sets of users aresimilar in terms of what they deem offensive (or what they are likely todeem offensive), which might be based on prior user input indicatingsuch or other known information about the users indicating such, then itmay be determined that the marked locations of the particular mediacontent should be filtered when presented to the users associated withthe first PDD 505 a.

In the embodiments in which multiple first users are present,determination of whether to filter media content might take into accountsimilarities and differences amongst the first users, or mightconservatively skew toward the most restrictive user in determiningwhether to filter content. For example, presence of a child (despitepresence of adults) while the first media content is being presented byautomatically set the automatic filtering to filter out, replace, orotherwise censor the content to eliminate any potentially inappropriatecontent (e.g., nude content, sexual content, violent content, offensivelanguage, etc.). The age of the child may be estimated or specificallyidentified, and appropriate levels of filtering may be applied. Forinstance, the parents of the child might have set or established that ata certain age, some of this filtering may be relaxed when media contentcontaining such inappropriate content is presented to the specific child(in some cases, the parents might allow the child, when the child hasreached the age of majority, to view media content without anyfiltering, or the like). In some embodiments, adults who find certaincontent disturbing or offensive might set or establish appropriatefiltering criteria; by this approach, certain particularly offensivelanguage may be filtered, certain offensive types of scenes (e.g.,extremely violent scenes, extremely gory scenes, extremely violentsexual scenes, certain sexual or nude content, etc.) might be filtered,or the like. In some cases, likes, dislikes, indifferences, or otheruser preferences or default preferences, of each user with respect toparticular types of media content or portions of media content might betaken into account when determining whether media content should befiltered for a group. Viewing patterns of each user (either alone or inparticular groups with one or more of the present users of the group)might also be taken into account.

Based on the determinations of whether or not to filter media content,the control server 510 or a content filtering server 580 might performthe filtering. In some cases, filtering image content might include oneor more of replacing offensive or inappropriate images (e.g., images ofnudity, violence, etc.) with polygons (which may be colored, asappropriate), with pixilation or pixelated images, with blurred images,with smiley face(s), with predetermined images, with random images,and/or the like. In some instances, filtering video or gaming contentmight include one or more of replacing offensive or inappropriate videoor gaming scenes (e.g., video or gaming scenes of nudity, violence,etc.) with scenes containing appropriately placed polygons (which may becolored, as appropriate), with scenes containing appropriately placedpixelated images, with scenes containing appropriately placed blurredimages, with scenes containing appropriately placed smiley face(s), withscenes containing appropriately placed predetermined images, with scenescontaining appropriately placed random images, with replacement scenes,and/or the like. In some embodiments, filtering audio content mightinclude in one or more of replacing offensive or inappropriate audiocontent (e.g., audio content of sexually explicit or implicit audiocontent, violent content, offensive language, etc.) with replacementwords, a tone (e.g., 1 kHz tone or the like), a muted audio clip, etc.In some cases, replacement words might comprise replacement wordsmatching one or more of gender, age, nationality, accent, and/orcharacteristics of a speaker of words that are being replaced by thereplacement words. For example, a character in a video or gaming contentmight have a New York accent, and might say an offensive word (e.g.,“piss,” which to some people might be deemed offensive); the replacementword (e.g., “urinate,” which to some people might be deemed lessoffensive) might be modulated or otherwise generated to mimic the NewYork accent. In some instances, such replacement content might be storedin database 585. Crowd-sourced information related to potentiallyoffensive media content (as well as information related to crowd-sourcedusers) might also be stored in database 585.

According to some embodiments, the detection of the presence of the userdevice 545 by the first PDD 505 a through the N^(th) PDD 505 n mightallow identification of a user and thus access of profiles, content,and/or messages and notifications associated with the user's account,regardless of whether the first PDD 505 a through the N^(th) PDD 505 nis owned by and/or associated with the user. Herein, the user's mediacontent might include, without limitation, at least one of purchasedvideo content, purchased audio content, purchased video game, purchasedimage content, rented video content, rented audio content, rented videogame, rented image content, user-generated video content, user-generatedaudio content, user-generated video game content, user generated imagecontent, and/or free media content, while the user's profiles mightinclude, but is not limited to, one or more of user profile informationfor a video game or video game console, web browser history and/orbookmarks, contact information for the user's contacts, user profileinformation for video or audio content, including without limitationrecommended content, device preferences, messaging preferences,videomail preferences, user profile information for cloud services,information regarding what types of content should be filtered, and/orthe like. Videomail, herein, might refer to videomail messages addressedto the user or callee. In some cases, the user's profile might alsoinclude identifying information—including, but not limited to, theuser's biometric information (e.g., facial characteristics, voicecharacteristics, fingerprint characteristics, iris characteristics,pupil characteristics, retinal characteristics, etc.), user's pastmonitored reactions (e.g., vocal expressions or outbursts, facialexpressions, hand gestures, body gestures, eye movement, eye focus,shift in proximity with respect to the PDD, and/or the like), or thelike. In some examples, the user profile information for cloud servicesmight include user log-in information (e.g., username, account number,and/or password/passphrase, etc.) or other suitable credentials forcloud services, which might include, without limitation, video callingservice, videomail service, voice calling service, videobroadcast/streaming service, audio broadcast/streaming service, on-linegaming service, banking/financial services, travel/accommodation/rentalvehicle services, and/or dining/entertainment eventreservation/ticketing services, or the like.

In one example, a user might be associated with first PDD 505 a (locatedin the first customer premises 560 a), while her friend might beassociated with second PDD 505 b (located in the second customerpremises 560 b), and the user and the friend are both subscribers of asimilar service provided by control server 510 and/or the cloud serviceprovider associated with control server 510. When the user visits herfriend, the friend's PDD 505 b might first detect presence of the user,by querying and/or obtaining the identification information for theuser's smart phone and/or tablet computer or the like, by capturingvideo, image, and/or voice data of the user, by infrared detection of aliving person in the room, and/or by audio detection of a living personin the room, etc. The friend's PDD 505 b might then identify the userusing the user's device(s) identification information and/or thecaptured video, image, and/or voice data, or might send such presenceinformation to control server 510 for identification and authenticationanalysis. In some cases, detecting presence of, oridentifying/authenticating, the user might include, without limitation,analyzing captured images or video segments using one or more of facialrecognition software, pupil/iris recognition software, retinalidentification software, fingerprint analysis software, and/orphysiology recognition software, analyzing captured audio samples usingone or more of voiceprint analysis and/or comparison with storedchallenge/response information, and/or identification of a user deviceowned by and/or associated with the user (e.g., based on identificationinformation of the device, which may be previously associated with theuser or the user's profile(s), etc.). In terms of detection of thepresence of the user's device, any suitable technique may be implementedincluding, but not limited to, at least one of detecting a Bluetoothconnection of the user device, detecting that the user device isassociated with a WiFi access point with which the video calling devicehas associated, and/or communicating with the user device using nearfield communication (“NFC”).

Once the user has been identified and authenticated, control server 510might send copies of the user's profiles and/or content to the secondPDD 505 b (either from first PDD 505 a and/or from cloud storage system530, or the like), or at least provide the user with access to herprofiles, notifications of media content recommendations, notificationof determined advertisements, preferences for advertisements, videomail,and/or content from her friend's PDD 505 b. In some embodiments, theidentification and authentication processes might include comparing theuser device identification information and/or the captured video, image,and/or voice data against all similar identification data for allusers/subscribers of the cloud service that are stored in cloud storagesystem 530. In some cases, the process might be facilitated where PDDs505 a and 505 b might already be associated with each other (e.g., wherethe user has previously made a video call from first PDD 505 a to herfriend on second PDD 505 b, where the user might have added the friendto the user's contact list, and/or where the friend might have added theuser to the friend's contact list). In other cases, the user's first PDD505 a might have access to the user's calendar and/or communications,which might indicate that the user is visiting the friend. The first PDD505 a might query control server 510 to determine whether the friend hasa PDD 505 b associated with the cloud service provider. In this example,the first PDD 505 a determines that second PDD 505 b is part of the sameservice and/or is in communication with control server 510, and based onsuch determination, first PDD 505 a (and/or control server 510) mightsend the user's profiles and/or content to second PDD 505 b, and/orprovide second PDD 505 b with access to the user's profiles,notifications of media content recommendations, notifications ofdetermined advertisements, preferences for advertisements, videomail,preferences related to what types of content should be filtered,preferences related to desired types of filtering (e.g., use ofpolygons, blurred images, smiley faces, tones, audio blanks,voice/accent matched replacement words, etc.), and/or content. In someembodiments, the user's profiles, notifications of media contentrecommendations, notifications of determined advertisements, preferencesfor advertisements, videomail, and/or content, or access to profiles,notifications of media content recommendations, notifications ofdetermined advertisements, preferences for advertisements, videomail,and/or content, might be encrypted, and might be released/decrypted uponidentification and/or authentication by second PDD 505 b (and/or bycontrol server 510) when the user is detected by second PDD 505 b. Inthis manner, the user's profiles, notifications of media contentrecommendations, notifications of determined advertisements, preferencesfor advertisements, videomail, preferences for types of content tofilter, preferences for types of filtering to apply to filtered content,and/or content can follow the user wherever she goes, so long as thereis a device (e.g., PDD or video calling device) that is associated withthe same or affiliate cloud service provider at her destination, and solong as the device can recognize and authenticate the user.

By the same token, if the user is no longer detected by the second PDD505 b, either after a predetermined number of prompts or queries for theuser and/or after a predetermined period of time (e.g., after aspecified number of minutes, hours, days, weeks, months, etc.), secondPDD 505 b (and/or control server 510) might determine that the user isno longer present at the location of second PDD 505 b. Based on such adetermination, second PDD 505 b and/or control server 510 might removethe user's profiles, notifications of media content recommendations,notifications of determined advertisements, preferences foradvertisements, videomail, and/or media content (or access thereto) fromsecond PDD 505 b. As described above, a time-out system might beutilized. Alternatively, other suitable systems may be used fordetermining the user is no longer present, and removing the user'sprofiles, notifications of media content recommendations, notificationsof determined advertisements, preferences for advertisements, videomail,and/or media content (or access thereto) from the second PDD 505 b. Insome cases, once the user is determined to no longer be present at thelocation of the second PDD 505 b, the system might either stoppresenting the advertisement(s) (if currently being presented) or notpresent the advertisement(s) (if not yet presented).

These and other functionalities with regard to filtering of mediacontent may be performed by PDDs 505, control server 510, and/or contentfiltering server 580, or the like in a manner similar to those asdescribed above with respect to the embodiments of FIGS. 1-4, or thelike.

FIG. 6 provides a schematic illustration of one embodiment of a computersystem 600 that can perform the methods provided by various otherembodiments, as described herein, and/or can function as a video callingdevice, ICD, PDD, user device, control server, server computer, webserver, and/or the like. It should be noted that FIG. 6 is meant only toprovide a generalized illustration of various components, of which oneor more (or none) of each may be utilized as appropriate. FIG. 6,therefore, broadly illustrates how individual system elements may beimplemented in a relatively separated or relatively more integratedmanner.

The computer system 600 is shown comprising hardware elements that canbe electrically coupled via a bus 605 (or may otherwise be incommunication, as appropriate). The hardware elements may include one ormore processors 610, including without limitation one or moregeneral-purpose processors and/or one or more special-purpose processors(such as digital signal processing chips, graphics accelerationprocessors, and/or the like); one or more input devices 615, which caninclude, without limitation, a mouse, a keyboard, and/or the like; andone or more output devices 620, which can include, without limitation, adisplay device, a printer, and/or the like.

The computer system 600 may further include (and/or be in communicationwith) one or more storage devices 625, which can comprise, withoutlimitation, local and/or network accessible storage, and/or can include,without limitation, a disk drive, a drive array, an optical storagedevice, solid-state storage device such as a random access memory(“RAM”) and/or a read-only memory (“ROM”), which can be programmable,flash-updateable, and/or the like. Such storage devices may beconfigured to implement any appropriate data stores, including, withoutlimitation, various file systems, database structures, and/or the like.

The computer system 600 might also include a communications subsystem630, which can include, without limitation, a modem, a network card(wireless or wired), an infra-red communication device, a wirelesscommunication device and/or chipset (such as a Bluetooth™ device, an802.11 device, a WiFi device, a WiMax device, a WWAN device, cellularcommunication facilities, etc.), and/or the like. The communicationssubsystem 630 may permit data to be exchanged with a network (such asthe network described below, to name one example), with other computersystems, and/or with any other devices described herein. In manyembodiments, the computer system 600 will further comprise a workingmemory 635, which can include a RAM or ROM device, as described above.

The computer system 600 also may comprise software elements, shown asbeing currently located within the working memory 635, including anoperating system 640, device drivers, executable libraries, and/or othercode, such as one or more application programs 645, which may comprisecomputer programs provided by various embodiments, and/or may bedesigned to implement methods, and/or configure systems, provided byother embodiments, as described herein. Merely by way of example, one ormore procedures described with respect to the method(s) discussed abovemight be implemented as code and/or instructions executable by acomputer (and/or a processor within a computer); in an aspect, then,such code and/or instructions can be used to configure and/or adapt ageneral purpose computer (or other device) to perform one or moreoperations in accordance with the described methods.

A set of these instructions and/or code might be encoded and/or storedon a non-transitory computer readable storage medium, such as thestorage device(s) 625 described above. In some cases, the storage mediummight be incorporated within a computer system, such as the system 600.In other embodiments, the storage medium might be separate from acomputer system (i.e., a removable medium, such as a compact disc,etc.), and/or provided in an installation package, such that the storagemedium can be used to program, configure, and/or adapt a general purposecomputer with the instructions/code stored thereon. These instructionsmight take the form of executable code, which is executable by thecomputer system 600 and/or might take the form of source and/orinstallable code, which, upon compilation and/or installation on thecomputer system 600 (e.g., using any of a variety of generally availablecompilers, installation programs, compression/decompression utilities,etc.) then takes the form of executable code.

It will be apparent to those skilled in the art that substantialvariations may be made in accordance with specific requirements. Forexample, customized hardware (such as programmable logic controllers,field-programmable gate arrays, application-specific integratedcircuits, and/or the like) might also be used, and/or particularelements might be implemented in hardware, software (including portablesoftware, such as applets, etc.), or both. Further, connection to othercomputing devices such as network input/output devices may be employed.

As mentioned above, in one aspect, some embodiments may employ acomputer system (such as the computer system 600) to perform methods inaccordance with various embodiments of the invention. According to a setof embodiments, some or all of the procedures of such methods areperformed by the computer system 600 in response to processor 610executing one or more sequences of one or more instructions (which mightbe incorporated into the operating system 640 and/or other code, such asan application program 645) contained in the working memory 635. Suchinstructions may be read into the working memory 635 from anothercomputer readable medium, such as one or more of the storage device(s)625. Merely by way of example, execution of the sequences ofinstructions contained in the working memory 635 might cause theprocessor(s) 610 to perform one or more procedures of the methodsdescribed herein.

According to some embodiments, system 600 might further comprise one ormore sensors 650, which might include, without limitation, one or morecameras, one or more IR sensors, and/or one or more 3D sensors, or thelike. In some cases, the one or more sensors 650 might be incorporatedin (or might otherwise be one of) the input device(s) 615. The outputdevice(s) 620 might, in some embodiments, further include one or moremonitors, one or more TVs, and/or one or more display screens, or thelike.

The terms “machine readable medium” and “computer readable medium,” asused herein, refer to any medium that participates in providing datathat causes a machine to operate in a specific fashion. In an embodimentimplemented using the computer system 600, various computer readablemedia might be involved in providing instructions/code to processor(s)610 for execution and/or might be used to store and/or carry suchinstructions/code (e.g., as signals). In many implementations, acomputer readable medium is a non-transitory, physical, and/or tangiblestorage medium. Such a medium may take many forms, including, but notlimited to, non-volatile media, volatile media, and transmission media.Non-volatile media includes, for example, optical and/or magnetic disks,such as the storage device(s) 625. Volatile media includes, withoutlimitation, dynamic memory, such as the working memory 635. Transmissionmedia includes, without limitation, coaxial cables, copper wire andfiber optics, including the wires that comprise the bus 605, as well asthe various components of the communication subsystem 630 (and/or themedia by which the communications subsystem 630 provides communicationwith other devices). Hence, transmission media can also take the form ofwaves (including, without limitation, radio, acoustic, and/or lightwaves, such as those generated during radio-wave and infra-red datacommunications).

Common forms of physical and/or tangible computer readable mediainclude, for example, a floppy disk, a flexible disk, a hard disk,magnetic tape, or any other magnetic medium, a CD-ROM, any other opticalmedium, punch cards, paper tape, any other physical medium with patternsof holes, a RAM, a PROM, an EPROM, a FLASH-EPROM, any other memory chipor cartridge, a carrier wave as described hereinafter, or any othermedium from which a computer can read instructions and/or code.

Various forms of computer readable media may be involved in carrying oneor more sequences of one or more instructions to the processor(s) 610for execution. Merely by way of example, the instructions may initiallybe carried on a magnetic disk and/or optical disc of a remote computer.A remote computer might load the instructions into its dynamic memoryand send the instructions as signals over a transmission medium to bereceived and/or executed by the computer system 600. These signals,which might be in the form of electromagnetic signals, acoustic signals,optical signals, and/or the like, are all examples of carrier waves onwhich instructions can be encoded, in accordance with variousembodiments of the invention.

The communications subsystem 630 (and/or components thereof) generallywill receive the signals, and the bus 605 then might carry the signals(and/or the data, instructions, etc. carried by the signals) to theworking memory 635, from which the processor(s) 605 retrieves andexecutes the instructions. The instructions received by the workingmemory 635 may optionally be stored on a storage device 625 eitherbefore or after execution by the processor(s) 610.

As noted above, a set of embodiments comprises systems collectingpresence information and/or enabling or implementing automatic contentfiltering of media content, based on presence information (regardless ofwhether the user device detecting the presence detection is owned byand/or associated with the user). FIG. 7 illustrates a schematic diagramof a system 700 that can be used in accordance with one set ofembodiments. The system 700 can include one or more user computers 705.In particular, a user computer 705 can be a video calling device, anICD, a PDD, and/or a user device, as described above. More generally, auser computer 705 can be a general purpose personal computer (including,merely by way of example, desktop computers, workstations, tabletcomputers, laptop computers, handheld computers, mobile phones, smartphones, and the like), running any appropriate operating system, severalof which are available from vendors such as Apple, Microsoft Corp., aswell a variety of commercially-available UNIX™ or UNIX-like operatingsystems. A user computer 705 can also have any of a variety ofapplications, including one or more applications configured to performmethods provided by various embodiments (as described above, forexample), as well as one or more office applications, database clientand/or server applications, and/or web browser applications.Alternatively, a user computer 705 can be any other electronic device,such as a thin-client computer, Internet-enabled mobile telephone,and/or personal digital assistant, capable of communicating via anetwork (e.g., the network 710 described below) and/or of displaying andnavigating web pages or other types of electronic documents. Althoughthe exemplary system 700 is shown with two user computers 705, anynumber of user computers can be supported.

Certain embodiments operate in a networked environment, which caninclude a network 710. The network 710 can be any type of networkfamiliar to those skilled in the art that can support datacommunications using any of a variety of commercially-available (and/orfree or proprietary) protocols, including, without limitation, TCP/IP,SNA™, IPX™, AppleTalk™, and the like. Merely by way of example, thenetwork 710 can include a local area network (“LAN”), including, withoutlimitation, a fiber network, an Ethernet network, a Token-Ring™ networkand/or the like; a wide-area network; a wireless wide area network(“WWAN”); a virtual network, such as a virtual private network (“VPN”);the Internet; an intranet; an extranet; a public switched telephonenetwork (“PSTN”); an infra-red network; a wireless network, includingwithout limitation a network operating under any of the IEEE 802.11suite of protocols, the Bluetooth™ protocol known in the art, and/or anyother wireless protocol; and/or any combination of these and/or othernetworks.

Embodiments can also include one or more server computers 715. Each ofthe server computers 715 may be configured with an operating system,including, without limitation, any of those discussed above with respectto the user computers 705, as well as any commercially (or freely)available server operating systems. Each of the servers 715 may also berunning one or more applications, which can be configured to provideservices to one or more clients 705 and/or other servers 715.

Merely by way of example, one of the servers 715 might be a controlserver, with the functionality described above. In another embodiment,one of the servers might be a web server, which can be used, merely byway of example, to provide communication between a user computer 705 anda control server, for example, to process requests for web pages orother electronic documents from user computers 705 and/or to provideuser input to the control server. The web server can also run a varietyof server applications, including HTTP servers, FTP servers, CGIservers, database servers, Java servers, and the like. In someembodiments of the invention, the web server may be configured to serveweb pages that can be operated within a web browser on one or more ofthe user computers 705 to perform operations in accordance with methodsprovided by various embodiments.

The server computers 715, in some embodiments, might include one or moreapplication servers, which can be configured with one or moreapplications accessible by a client running on one or more of the clientcomputers 705 and/or other servers 715. Merely by way of example, theserver(s) 715 can be one or more general purpose computers capable ofexecuting programs or scripts in response to the user computers 705and/or other servers 715, including, without limitation, webapplications (which might, in some cases, be configured to performmethods provided by various embodiments). Merely by way of example, aweb application can be implemented as one or more scripts or programswritten in any suitable programming language, such as Java™, C, C#™ orC++, and/or any scripting language, such as Perl, Python, or TCL, aswell as combinations of any programming and/or scripting languages. Theapplication server(s) can also include database servers, including,without limitation, those commercially available from Oracle™,Microsoft™, Sybase™, IBM™, and the like, which can process requests fromclients (including, depending on the configuration, dedicated databaseclients, API clients, web browsers, etc.) running on a user computer 705and/or another server 715. In some embodiments, an application servercan create web pages dynamically for displaying the information inaccordance with various embodiments, such as providing a user interfacefor a control server, as described above. Data provided by anapplication server may be formatted as one or more web pages (comprisingHTML, JavaScript, etc., for example) and/or may be forwarded to a usercomputer 705 via a web server (as described above, for example).Similarly, a web server might receive web page requests and/or inputdata from a user computer 705 and/or forward the web page requestsand/or input data to an application server. In some cases, a web servermay be integrated with an application server.

In accordance with further embodiments, one or more servers 715 canfunction as a file server and/or can include one or more of the files(e.g., application code, data files, etc.) necessary to implementvarious disclosed methods, incorporated by an application running on auser computer 705 and/or another server 715. Alternatively, as thoseskilled in the art will appreciate, a file server can include allnecessary files, allowing such an application to be invoked remotely bya user computer 705 and/or server 715.

It should be noted that the functions described with respect to variousservers herein (e.g., application server, database server, web server,file server, etc.) can be performed by a single server and/or aplurality of specialized servers, depending on implementation-specificneeds and parameters. Further, as noted above, the functionality of oneor more servers 715 might be implemented by one or more containers orvirtual machines operating in a cloud environment and/or a distributed,cloud-like environment based on shared resources of a plurality of uservideo calling devices, a plurality of ICDs, and/or a plurality of PDDs.

In certain embodiments, the system can include one or more data stores720. The nature and location of the data stores 720 is discretionary:merely by way of example, one data store 720 might comprise a database720 a that stores information about master accounts, user profiles, userpreferences (including, but not limited, to acceptable types of content,types of content to filter/censor/replace/etc. for any of a plurality ofusers, or the like), assigned video calling devices,viewing/listening/Internet browsing/gaming patterns,viewing/listening/Internet browsing/gaming history, etc. Alternativelyand/or additionally, a data store 720 b might be a cloud storageenvironment for storing master accounts, user profiles, userpreferences, uploaded monitored reactions of users, and/or the like.

As the skilled reader can appreciate, the database 720 a and the cloudstorage environment 720 b might be collocated and/or separate from oneanother. Some or all of the data stores 720 might reside on a storagemedium local to (and/or resident in) a server 715 a. Conversely, any ofthe data stores 720 (and especially the cloud storage environment 720 b)might be remote from any or all of the computers 705, 715, so long as itcan be in communication (e.g., via the network 710) with one or more ofthese. In a particular set of embodiments, a database 720 a can residein a storage-area network (“SAN”) familiar to those skilled in the art,and/or the cloud storage environment 720 b might comprise one or moreSANs. (Likewise, any necessary files for performing the functionsattributed to the computers 705, 715 can be stored locally on therespective computer and/or remotely, as appropriate.) In one set ofembodiments, the database 720 a can be a relational database, such as anOracle database, that is adapted to store, update, and retrieve data inresponse to SQL-formatted commands. The database might be controlledand/or maintained by a database server, as described above, for example.

As noted above, the system can also include a first PDD 725, a secondPDD 730, and a third PDD 735. The first PDD 725 in the context of theexamples described herein corresponds to the device associated with theuser or audience member, while the second and third PDDs 730-735 mightcorrespond to devices associated with known friends, potential friends,and/or social media friends associated with the user, and/or mightcorrespond to devices associated with people unrelated to the user(which might include people belonging to similar demographic groups asthe user, people within a similar geographic region (but not necessarilywithin similar demographic groups), people who generally representaverage persons within a population, and/or the like). Although onlythree PDDs are illustrated in FIG. 7, it should be appreciated that anynumber of PDDs 725-735 may be implemented in accordance with variousembodiments.

Using the techniques described herein, each of the first PDD 725, thesecond PDD 730, and the third PDD 735 can determine presence of one ormore users or audience members, identify users or audience members,access profiles of the identified users or audience members, determinewhether at least one portion of media content should be filtered priorto presentation to a user, (based on such a determination) filter the atleast one portion of the media content, and/or the like. In some cases,determining whether at least one portion of the media content should befiltered might be based on one or more of user preferences of each user;known viewing/listening/gaming patterns from the user profile of eachuser; monitored reactions of each user (including, but not limited to,vocal expressions or outbursts, facial expressions, hand gestures, bodygestures, eye movement, eye focus, shift in proximity with respect tothe PDD, and/or the like); portions of similar media contentviewed/listened/played by and subsequently marked for filtering orcensoring by the user; portions of media content viewed/listened/playedby and subsequently marked for filtering or censoring by known friends,potential friends, social media friends, and demographic group members;and/or the like.

Each of the first PDD 725, the second PDD 730, and the third PDD 735 maybe (or may have similar functionality as) a video calling device 105, auser device 105, an ICD 105, or a PDD 105, as described in detail above;in some cases, each of the first PDD 725, the second PDD 730, and thethird PDD 735 might be (or may have similar functionality as) a VCD asdescribed in the '182 patent.

While certain features and aspects have been described with respect toexemplary embodiments, one skilled in the art will recognize thatnumerous modifications are possible. For example, the methods andprocesses described herein may be implemented using hardware components,software components, and/or any combination thereof. Further, whilevarious methods and processes described herein may be described withrespect to particular structural and/or functional components for easeof description, methods provided by various embodiments are not limitedto any particular structural and/or functional architecture but insteadcan be implemented on any suitable hardware, firmware, and/or softwareconfiguration. Similarly, while certain functionality is ascribed tocertain system components, unless the context dictates otherwise, thisfunctionality can be distributed among various other system componentsin accordance with the several embodiments.

Moreover, while the procedures of the methods and processes describedherein are described in a particular order for ease of description,unless the context dictates otherwise, various procedures may bereordered, added, and/or omitted in accordance with various embodiments.Moreover, the procedures described with respect to one method or processmay be incorporated within other described methods or processes;likewise, system components described according to a particularstructural architecture and/or with respect to one system may beorganized in alternative structural architectures and/or incorporatedwithin other described systems. Hence, while various embodiments aredescribed with—or without—certain features for ease of description andto illustrate exemplary aspects of those embodiments, the variouscomponents and/or features described herein with respect to a particularembodiment can be substituted, added, and/or subtracted from among otherdescribed embodiments, unless the context dictates otherwise.Consequently, although several exemplary embodiments are describedabove, it will be appreciated that the invention is intended to coverall modifications and equivalents within the scope of the followingclaims.

What is claimed is:
 1. A method, comprising: receiving, with a firstdevice, first media content from a local content source; presenting,with the first device, the received first media content; collecting,with a presence detection device, presence information of a user;estimating characteristics of the user, with a first computer, based atleast in part on information derived from at least a portion of thepresence information; determining, with a second computer, whether atleast one portion of the received first media content should be filteredbased at least in part on the estimated characteristics of the user; andbased on a determination that at least one portion of the received firstmedia content should be filtered, filtering the at least one portion ofthe received first media content prior to presenting the at least oneportion of the received first media content.
 2. The method of claim 1,wherein the first media content comprises media content type selectedfrom a group consisting of television program content, movie content,music content, gaming content, news-related content, sports-relatedcontent, video clip content, advertisement content, and Internet-basedmedia content.
 3. The method of claim 1, wherein at least two of thefirst device, the presence detection device, the first computer, or thesecond computer are the same device.
 4. The method of claim 1, whereinat least one of the first computer or the second computer is a controlserver in communication with the presence detection device over anetwork.
 5. The method of claim 1, wherein estimating characteristics ofthe user, with the first computer, based at least in part on informationderived from at least a portion of the presence information comprisesestimating, with the first computer, one or more of age, gender, ordemographics of the user, based at least in part on the informationderived from at least a portion of the presence information.
 6. Themethod of claim 1, wherein estimating characteristics of the user, withthe first computer, based at least in part on information derived fromat least a portion of the presence information comprises identifying theuser, with the first computer, based at least in part on the informationderived from at least a portion of the presence information.
 7. Themethod of claim 1, wherein the presence detection device comprises: avideo input interface to receive video input from the local contentsource; an audio input interface to receive audio input from the localcontent source; a video output interface to provide video output to adisplay device; an audio output interface to provide audio output to anaudio receiver; an image capture device to capture at least one of imagedata or video data; an audio capture device to capture audio data; anetwork interface; at least one processor; and a storage medium incommunication with the at least one processor.
 8. The method of claim 7,wherein the presence information comprises at least one of an imagecaptured by the image capture device, a video segment captured by theimage capture device, an audio sample captured by the audio capturedevice, or a detected presence of a user device in proximity to thefirst presence detection device.
 9. The method of claim 7, whereincollecting the presence information comprises capturing one or moreimages of at least a portion of a room with the image capture device.10. The method of claim 9, wherein the one or more images comprises avideo stream, wherein collecting the presence information comprisesanalyzing the one or more images.
 11. The method of claim 10, whereinanalyzing the one or more images comprises: determining a number ofpeople in the room.
 12. The method of claim 10, wherein analyzing theone or more images comprises: determining a collective demographic of aplurality of people in the room.
 13. The method of claim 10, whereinanalyzing the one or more images comprises: determining an identity ofat least one person in the room, using facial recognition technology.14. The method of claim 10, wherein analyzing the one or more imagescomprises: determining that a person is watching a display device, usingeye tracking technology.
 15. The method of claim 1, wherein filteringthe at least one portion of the received first media content comprises:receiving at least one filtered portion of the first media content; andinserting the at least one filtered portion of the first media contentin a media stream comprising the first media content.
 16. The method ofclaim 15, wherein inserting the at least one filtered portion of thefirst media content in the media stream comprises replacing the at leastone portion of the received first media content with the at least onefiltered portion of the first media content.
 17. The method of claim 16,wherein the at least one filtered portion of the first media contentcomprises at least one of one or more colored polygons, one or morepixelated images, one or more blurred images, one or more smiley faces,one or more predetermined images, one or more random images, one or moreaudio tones, one or more audio blanks, one or more replacement words, orone or more video scenes.
 18. The method of claim 17, wherein the one ormore replacement words comprise replacement words matching one or moreof gender, age, nationality, accent, or characteristics of a speaker ofwords that are being replaced by the one or more replacement words. 19.The method of claim 17, further comprising: determining, with the secondcomputer, whether at least one portion of the received first mediacontent should be filtered based at least in part on analyzing the firstmedia content to identify specific one or more of video content, imagecontent, game content, or audio content that are indicated in a databaseas being potentially objectionable, using one or more of patternrecognition technology or object recognition technology, whereinfiltering the at least one portion of the received first media contentcomprises replacing the identified specific one or more of videocontent, image content, game content, or audio content with at least oneof the one or more colored polygons, the one or more pixelated images,the one or more blurred images, the one or more smiley faces, the one ormore predetermined images, or the one or more random images.
 20. Themethod of claim 15, wherein inserting the at least one filtered portionof the first media content in the media stream comprises overlaying themedia stream with the at least one filtered portion of the first mediacontent.
 21. The method of claim 15, wherein filtering the at least oneportion of the received first media content further comprises addinglatency to the first media content during presentation of the firstmedia content.
 22. The method of claim 1, wherein filtering the at leastone portion of the received first media content comprises at least oneof: blocking the at least one portion of the received first mediacontent from being presented; pausing presentation of the at least oneportion of the received first media content; hiding the at least oneportion of the received first media content during presentation of thereceived first media content; skipping the at least one portion of thereceived first media content during presentation of the received firstmedia content; removing the at least one portion from the received firstmedia content; or replacing the at least one portion of the receivedfirst media content with replacement content.
 23. The method of claim22, wherein the replacement content comprises a different version of thefirst media content.
 24. The method of claim 1, wherein determining,with a second computer, whether at least one portion of the receivedfirst media content should be filtered based at least in part on theestimated characteristics of the user comprises determining that theuser is a child user and that the at least one portion of the receivedmedia content is media content inappropriate for the child user, whereinfiltering the at least one portion of the received first media contentcomprises at least one of pausing or blanking the at least one portionof the received first media content.
 25. The method of claim 24, whereindetermining that the user is a child user and that the at least oneportion of the received media content is media content inappropriate forthe child user comprises receiving one or more of a verbal command, froma second user, indicating that the at least one portion of the receivedmedia content should be censored, a gesture command, from the seconduser, indicating that the at least one portion of the received mediacontent should be censored, or instructions based on user profilesassociated with the child user indicating that media content similar tothe at least one portion of the received media content should becensored.
 26. The method of claim 24, further comprising: determining,with the presence detection device, that the child user is no longerpresent; and based on a determination that the child user is no longerpresent, resuming presentation of the received first media content. 27.The method of claim 26, wherein determining, with the presence detectiondevice, that the child user is no longer present comprises one or moreof a verbal command, from the second user, indicating to resumepresentation of the at least one portion of the received media content,a gesture command, from the second user, indicating to resumepresentation of the at least one portion of the received media content,or instructions based on analysis of current presence information of thechild user indicating that the child user is no longer physicallypresent.
 28. The method of claim 1, further comprising: identifying theuser, with the first computer, based at least in part on identifyinginformation derived from at least a portion of the presence information.29. The method of claim 28, wherein identifying the user comprises:determining an identity of the user, using one or more of facialrecognition technology or voice recognition technology.
 30. The methodof claim 29, further comprising: determining, with the second computer,whether at least one portion of the received first media content shouldbe filtered based on profile information of each of the identified atleast one person in the room.
 31. The method of claim 29, whereincollecting presence information of a user comprises collecting presenceinformation the user over a period of time, the method furthercomprising: updating, with the presence detection device, a user profileassociated with the user with updated identifying information based on adetermination that one or more of an appearance or a voice pattern ofthe user has changed.
 32. The method of claim 28, further comprising:receiving user input from the user indicating desired custom level ofcontent filtering; and updating a user profile associated with the user,based at least in part on the received user input.
 33. The method ofclaim 1, wherein determining, with a second computer, whether at leastone portion of the received first media content should be filtered basedat least in part on the estimated characteristics of the user comprisesdetermining, with a second computer, whether at least one portion of thereceived first media content should be filtered based at least in parton a determination as to whether one or more users whose presence arepresently detected are of an estimated age appropriate to view, listento, or play the first media content based at least in part on contentratings of the first media content.
 34. The method of claim 1, furthercomprising: monitoring, with the presence detection device, informationassociated with the first media content; sending, with the presencedetection device, the monitored information associated with the firstmedia content to the second computer over a network.
 35. The method ofclaim 34, wherein the information associated with the first mediacontent comprises media content-based information comprising at leastone of: information pertaining to one or more portions of the firstmedia content containing one or more of video scenes of nudity or imagesof nudity; information pertaining to one or more portions of the firstmedia content containing one or more of video scenes of suggestivesexual content or images of suggestive sexual content; informationpertaining to one or more portions of the first media content containingone or more of video scenes of explicit sexual content or images ofexplicit sexual content; information pertaining to one or more portionsof the first media content containing one or more of video scenes ofviolence or images of violence; information pertaining to one or moreportions of the first media content containing one or more of audio ofviolence, audio of sexual content, or audio of coarse or offensivelanguage.
 36. The method of claim 35, further comprising: determining,with a second computer, whether at least one portion of the receivedfirst media content should be filtered based at least in part on atleast one of one or more first locations containing the media-contentbased information in the first media content that are monitored by thepresence detection device, one or more second locations containing themedia-content based information in the first media content that aremarked by the user using user input, or one or more third locationscontaining the media-content based information in the first mediacontent that are monitored by the presence detection device in compiledinformation received from a database over a network, the compiledinformation comprising locations containing the media-content basedinformation in the first media content that are marked by at least oneof a plurality of users who are unassociated with the user or aplurality of users who are known to the user.
 37. The method of claim34, wherein each of the information associated with the first mediacontent comprises audience-based information comprising at least one of:number of audience members present during presentation of particularportions of the first media content; identity of each audience member;gender of each audience member; age of each audience member; demographicgroup to which each audience member belongs; viewing patterns of eachaudience member; specific reactions of each audience member duringpresentation of particular portions of the first media content; overallreactions of each audience member throughout presentation of the firstmedia content; consistency of audience member reactions of each audiencemember compared with personal preferences of the audience member; orconsistency of audience member reactions of each audience membercompared with past reactions of the audience member.
 38. The method ofclaim 37, wherein each of the specific reactions or the overallreactions comprises reactions selected from a group consisting of: vocalexpressions; facial expressions; hand gestures; body gestures; eyemovement; eye focus; and shift in proximity with respect to the presencedetection device.
 39. The method of claim 37, wherein the audience-basedinformation is monitored using one or more of: facial recognitiontechniques; facial expression recognition techniques; mood recognitiontechniques; emotion recognition techniques; voice recognitiontechniques; vocal tone recognition techniques; speech recognitiontechniques; eye movement tracking techniques; eye focus determinationtechniques; or proximity detection techniques.
 40. The method of claim34, further comprising: determining, with a second computer, whether atleast one portion of the received first media content should be filteredbased at least in part on analysis of one or more of: identification ofeach person in a room in which the presence detection device is located;identification of each person viewing the first media content beingdisplayed on a display device communicatively coupled to a video outputinterface of the presence detection device; or identification of eachperson listening to the first media content being presented over aspeaker communicatively coupled to an audio receiver that iscommunicatively coupled to an audio output interface of the presencedetection device.
 41. An apparatus, comprising: a non-transitorycomputer readable medium having encoded thereon a set of instructionsexecutable by one or more processors to cause the apparatus to performone or more operations, the set of instructions comprising: instructionsfor receiving presence information from a presence detection device; andinstructions for determining whether at least one portion of a firstmedia content should be filtered during presentation of the first mediacontent, based at least in part on the presence information.
 42. Asystem, comprising: a computer; and a presence detection device; thecomputer comprising: one or more first processors; and a firstnon-transitory computer readable medium in communication with the one ormore first processors, the first non-transitory computer readable mediumhaving encoded thereon a first set of instructions executable by the oneor more first processors to cause the computer to perform one or moreoperations, the first set of instructions comprising: instructions forreceiving presence information of a user from the presence detectiondevice; instructions for determining whether at least one portion of afirst media content should be filtered during presentation of the firstmedia content, based at least in part on the presence information; andinstructions for, based on a determination that at least one portion ofthe first media content should be filtered, sending at least onefiltered portion of the first media content corresponding to the atleast one portion of the first media content; the presence detectiondevice configured to collect the presence information, the presencedetection device comprising: a video input interface to receive videoinput from a local content source; an audio input interface to receiveaudio input from the local content source; a video output interface toprovide video output to a display device; an audio output interface toprovide audio output to an audio receiver; an image capture device tocapture at least one of image data or video data; an audio capturedevice to capture audio data; a network interface; one or more secondprocessors; and a second non-transitory computer readable medium incommunication with the one or more second processors, the secondnon-transitory computer readable medium having encoded thereon a secondset of instructions executable by the one or more second processors tocontrol operation of the presence detection device, the second set ofinstructions comprising: instructions for controlling the image capturedevice to capture one of a video stream or at least one image of theuser; instructions for controlling the audio capture device to capturean audio stream; instructions for encoding the captured video stream andthe captured audio stream to produce a series of data packets comprisingpresence information of the user; instructions for transmitting, usingthe network interface, the series of data packets comprising presenceinformation of the user, for reception by the computer; instructions forreceiving the first media content; instructions for receiving, from thecomputer, the at least one filtered portion of the first media content;instructions for presenting the first media content; and instructionsfor replacing, during presentation of the first media content, each ofthe at least one portion of the first media content with a correspondingone of the at least one filtered portion of the first media content,based on the determination that at least one portion of the first mediacontent should be filtered.
 43. An image capture device configured to beaccessible over a network, the image capture device comprising: an imagesensor to capture at least one of image data or video data; acommunication system; one or more processors; and a computer readablemedium in communication with the one or more processors, the computerreadable medium having encoded thereon a set of instructions executableby the computer system to cause the image capture device to perform oneor more operations, the set of instructions comprising: instructions forcollecting presence information of a user; and instructions for sendingthe collected presence information to a computer over a network todetermine whether at least one portion of a first media content shouldbe filtered during presentation of the first media content, based atleast in part on profile information of the user.
 44. The system ofclaim 43, wherein the set of instructions further comprises:instructions for identifying the user, based at least in part onidentifying information derived from at least a portion of the presenceinformation, wherein the instructions for sending the collected presenceinformation to the computer comprises instructions for sendinginformation pertaining to an identification of the user.
 45. The systemof claim 43, wherein the set of instructions further comprises:instructions for presenting the first media content; and instructionsfor replacing, during presentation of the first media content, each ofthe at least one portion of the first media content with a correspondingone of at least one filtered portion of the first media content, basedon a determination that the at least one portion of the first mediacontent should be filtered.